Java集合---List

如图:

List

List

List是有序的集合,允许使用者控制其插入集合的位置,并能
使用整数索引访问数据

AbstractList

1
public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>

AbstractList实现List,是一个抽象类。AbstractList提供了List的大部分实现,继承AbstractList,
只强制要求实现get(int index)size()方法,不过AbstractList中的许多方法都是默认实现,需要覆盖,
例如add(int index,E e)方法默认抛出异常。

AbstractSequentialList

AbstractSequentialList提供了AbstractList的大部分实现,只支持按次序访问。当顺序访问数据(例如使用链表来实现)时,优先使用这个类;
当对于随机访问数据(例如使用数组来实现)时AbstractList优先使用。

Deque

DequeQueue的子接口,Queue是一种队列形式,而Deque则是双向队列,它支持从两个端点方向检索和插入元素,
因此Deque既可以支持LIFO(后进先出)形式也可以支持FIFO(先进先出)形式.Deque接口是一种比StackVector更为丰富的抽象数据形式,
因为它同时实现了以上两者.

ArrayList

ArrayList是一个数组列表,ArrayList支持存入null.注意ArrayList不是线程同步的,如果要求线程同步,
要使用Vector

注意:ArrayList适合搜索频繁的场景,不适合频繁的插入和删除的场景。

LinkedList

LinkedList是链表集合(在Java中所有的链表都是双向链接的)。

LinkedList适合频繁的插入和删除的场景,不适合搜索频繁的场景

ListIterator

ListIterator继承Iterator,它为List增加Iterator方法,例如add()