前言:特别注意,List继承至Collection接口,List接口的实现有:ArrayList、Vector、LinkedList。
List: 有序,可重复
ArrayList:
性质:底层数据结构是数组,有一个初始化的容量大小,当里面存储的元素超过初始的大小时就要动态的扩充原容量1.5倍的存储空间。
优点: 底层数据结构是数组,查询快,,效率高。
缺点:增删慢,同步,线程不安全。
Vector:
性质:底层数据结构是数组,有一个初始化的容量大小,当里面存储的元素超过初始的大小时就要动态的扩充原容量2.0倍的存储空间。
优点:查询快,直接或间接同步,线程安全。
缺点:增删慢。
LinkedList:
性质:LinkedList是采用双向列表来实现的,对数据的索引需要从列表头开始遍历,因此用于随机访问则效率比较低,
但是插入元素时不需要对数据进行移动,因此插入效率较高。
优点:增删效率高。
缺点:查询慢,线程不安全。