java容器-List

1.介绍

List<E>接口继承自Collection<E>,即在Collection<E>接口的基础上添加了一些用于随机访问的操作集合,并且提供了ListIterator<E>迭代器,使得调用者可以方便的双向访问List,对应的方法为listIterator()。

2.主要子类型

ArrayList<E>, LinkedList<E>, Vector<E>

3.主要添加方法

1) get(int index) : E

返回指定位置的元素

2) set(int index, E element) : E

设置指定位置的元素,并返回该位置原来的元素

3) add(int index, E element) :void 

将元素添加至指定位置(index),并将该位置原来的元素及其之后的元素顺序向后移动

4) listIterator() : ListIterator<E>

返回该容器上的双向迭代器

5) listIterator(int index) : ListIterator<E>

返回该容器中指向index位置的双向迭代器ListIterator<E>

6) IndexOf(Object o) : int

返回元素o在容器中第一次出现的位置索引

7) lastIndexOf(Object o) : int

返回元素o在容器中最后一次出现的位置索引

8) subList(int fromIndex, int toIndex) : List

   返回当前List的子List,从fromIndex到toindex,包含fromIndex位置的元素,不包括toIndex位置的元素,并且返回的子List和原List共享存储,因此在原List和子List里做的任何修改都能如实的反馈给对方。(该方法返回的实际类型为List具体实现类中的内部类类型SubList<E>,内部类可以很方便的共享外部类的数据)

 4.default方法-自jdk1.8

1) default replaceAll(UnaryOperator<E> operator) : void

该方法利用该容器上的Iterator,为容器中每个元素element执行operator.apply(element),由于apply方法返回的也是element的类型,因此紧接着调用iterator.set(Eelement)方法,即可实现全部替换 

2) default sort(Comparator<? super E> comparator) : void

该方法利用Comparator<? super E> 的int compare(E element1, E element2)方法来比较元素,再进行排序。内部实现为Collections.sort(this, comparator)

3)default splitorator() : Splitorator<E>

返回该容器上的Spliterator<E>,以被stream方法和parallel方法调用

5.总结

List<E>容器在Collection的基础上,提供了一系列的随机访问接口如get(int index),set(int index, E element),remove(int index)等,并提供了双向迭代器ListIterator和获取子List的subList(int fromIndex, int toIndex),也提供了获取指定元素的位置的indexOf(Object o)和lastIndexOf(Object o)方法,这些方法集合极大的方便了调用者对容器修改和获取,也提供了更多的使用容器的自由,使得调用者可以用多种方式来完成指定的操作。


原文地址:https://www.cnblogs.com/zhedan/p/7627209.html