简介
List接口扩展了Collection,生命了用来存储一连串元素的集合的行为。列表中可以使用从0开始的索引,通过元素的位置插入或访问元素,可以包含重复的元素。
声明
interface List
方法
方法 | 描述 |
---|---|
void add(int index, E obj) | 将obj插入到调用列表中由index指定的索引位置。在插入点及之后的元素将被后移(没有覆盖元素) |
boolean addAll(int index, Collection<? extends E> c) | 将c中所有元素插入到调用列表中由index指定的索引位置。插入方法同上,如果列表发生变化返回true,否则false |
E get(int index) | 返回调用集合中在指定索引位置存储的对象 |
int indexOf(Object obj) | 返回第一个obj实例的索引,如果没有找到返回-1 |
int lastIndexOf(Object obj) | 返回最后一个obj实例的索引,如果没有找到返回-1 |
ListIterator<E> listIterator() | 返回列表的一个迭代器,从开头开始 |
ListIterator<E> listIterator(int index) | 返回列表的一个迭代器,从index开始 |
E remove(int index) | 从调用列表中移除index位置的元素,其后元素前移 |
default void replaceAll(UnaryOpeator<E> opToApply) | 使用opToApply函数获得的值更新列表中的每个元素(jdk 8新增) |
E set(int index, E obj) | 将index位置的值设置为obj,返回原来的值 |
default void sort(Comparator comp) | 使用comp指定的比较器排序列表(jdk 8新增) |
List subList(int start, int end) | 返回子列表,包含从start到end-1之间的元素。返回列表中的元素仍然被调用对象引用。(仅返回子列表,原列表不改动) |
异常
- 如果列表不能修改,抛出UnsupportedOperationException异常
- 如果对象不兼容,抛出ClassCastException
- 如果使用的索引无效,抛出IndexOutOfBoundsException
- 如果试图在不允许存储null的列表中存储null对象,抛出NullPointerException
- 如果参数无效,抛出IllegalArgumentException