List
List接口 是 Collection 的子接口, 也就意味着继承了Collection里所有的方法,list的所有内容都是允许重复的
public interface List<E> extends Collection<E>
List 接口中的方法
No. | 方法名称 | 类型 | 描述 |
---|---|---|---|
1 | public void add(int index,E element) | 普通 | 在指定位置处增加元素 |
2 | boolean addAll(int index,Collection<? extends E> c) | 普通 | 在指定位置处增加一组元素 |
3 | public E get(int index) | 普通 | 根据索引位置取出每一个元素 |
4 | public int indexOf(Object o) | 普通 | 根据对象查找指定的位置, 找不到返回-1 |
5 | public int lastIndexOf(Object o) | 普通 | 从后面向前查找位置, 找不到返回-1 |
6 | public ListIterator listIterator() | 普通 | 返回 ListIterator 接口的实例 |
7 | public ListIterator listIterator(int index) | 普通 | 返回从指定位置的 ListIterator 接口的实例 |
8 | public E remove(int index) | 普通 | 删除指定位置的内容 |
9 | public E set(int index,E element) | 普通 | 修改指定位置的内容 |
10 | List subList(int fromIndex,int toIndex) | 普通 | 返回子集合 |
总结
- List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,插入删除效率低,因为会引起其他元素位置改变
- List接口是一个有序的 可以有重复元素的
-
使用场景的选择:
- 对于需要快速插入、删除元素,则需使用LinkedList。
- 对于需要快速访问元素,则需使用ArrayList。
- List只能被一个线程操作,如果是多线程环境,List可能同时被多个线程操作,造成错误 考虑使用同步的类(如Vector)。
参考
作者:无名小辈day 链接:juejin.cn/post/701400…