了解List

40 阅读1分钟

List

List接口 是 Collection 的子接口, 也就意味着继承了Collection里所有的方法,list的所有内容都是允许重复的

public interface List<E> extends Collection<E>

List 接口中的方法

No.方法名称类型描述
1public void add(int index,E element)普通在指定位置处增加元素
2boolean addAll(int index,Collection<? extends E> c)普通在指定位置处增加一组元素
3public E get(int index)普通根据索引位置取出每一个元素
4public int indexOf(Object o)普通根据对象查找指定的位置, 找不到返回-1
5public int lastIndexOf(Object o)普通从后面向前查找位置, 找不到返回-1
6public ListIterator listIterator()普通返回 ListIterator 接口的实例
7public ListIterator listIterator(int index)普通返回从指定位置的 ListIterator 接口的实例
8public E remove(int index)普通删除指定位置的内容
9public E set(int index,E element)普通修改指定位置的内容
10List subList(int fromIndex,int toIndex)普通返回子集合

总结

  1. List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,插入删除效率低,因为会引起其他元素位置改变
  1. List接口是一个有序的 可以有重复元素的
  1. 使用场景的选择:

    1. 对于需要快速插入、删除元素,则需使用LinkedList。
    1. 对于需要快速访问元素,则需使用ArrayList。
    1. List只能被一个线程操作,如果是多线程环境,List可能同时被多个线程操作,造成错误 考虑使用同步的类(如Vector)。

参考

作者:无名小辈day 链接:juejin.cn/post/701400…