在Java集合类中,List是最基础的一种集合:它是一种有序列表,它的行为与数组完全相同,List内部按照放入元素的先后顺序存放,每个元素都可以通过索引确定自己的位置,List的索引和数组一样,从0开始。
List 接口继承了 Collection 接口以定义一个允许重复项的有序集合;该接口不但能够对列表的一部分进行处理,还添加了面向位置的操作。
在List集合中,我们常用到ArrayList和LinkedList这两个类,其中Vector已基本不用
ArrayList
ArrayList底层通过数组实现,随着元素的增加而动态扩容。ArrayList是Java集合框架中使用最多的一个类,是一个数组队列,线程不安全集合。继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable。可以通过元素的序号快速获取元素对象。ArrayList支持序列化,能通过序列化去传输。ArrayList中的操作不是线程安全的。特点:动态数组,读快改慢
LinkedList
它是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用。因为底层通过链表来实现,所以会随着元素的增加不断向链表的后端增加节点。特点:链表、队列、堆栈,改快读慢。
持续更新....