List

List 是一个有序的集合,使用者可以精确的控制集合中每一个元素插入的位置,可以通过索引去获取元素。和set不同,List允许有重复元素,如果可以插入null的话,List允许插入多个null。

List 接口提供了一个特殊的迭代器ListIterator, ListIterator提供了Iterator提供的所有方法,还提供了双边访问元素的方法,从特定位置开始访问元素的ListIterator

查询操作:

  

int size() 返回list的元素个数,最大为Integer.MAX_VALUE
boolean isEmpty();
boolean contains(Object o); 集合中是否有o元素
Iterator<E> iterator(); 
。。。继承了Collection接口的方法

以下是List接口特有的方法:
default void replaceAll(UnaryOperator<E> operator) {}: 对集合中的每个元素使用operator函数,使用返回的值替代集合中的元素,但是元素类型不可更改
default void sort(Comparator<? super E> c) {
default void sort(Comparator<? super E> c) {  对集合排序使用传入的比较器,集合会发生改变,但是不会扩容
Object[] a = this.toArray();
Arrays.sort(a, (Comparator) c);
ListIterator<E> i = this.listIterator();
for (Object e : a) {
i.next();
i.set((E) e);
}
}
通过元素在集合中的位置访问元素的方法:
E get(int index); 返回集合中下标index的元素
E set(int index, E element); 在集合中的index位置插入元素
void add(int index, E element); 在指定位置插入元素,添加到原来子序列的右边
E remove(int index); 移除指定位置的元素

查询方法:
int indexOf(Object o); 查询元素在集合中第一次出现的位置
 
int lastIndexOf(Object o); 查询元素在集合中最后出现的位置,返回-1表示集合中没有这个元素
ListIterator<E> listIterator();

ListIterator<E> listIterator(int index); 从特定的位置开始返回一个ListInerator

List<E> subList(int fromIndex, int toIndex); 返回从fromIndex开始,到toIndex结束的的子集合。如果fromIndex=toIndex,就返回一个null集合






posted @ 2023-02-16 18:17  小小小小青石  阅读(148)  评论(0)    收藏  举报