ArrayList和LinkedList的区别
程序员文章站
2022-05-14 11:56:49
...
ArrayList(顺序表)的底层是基于数组实现的,创建对象时空间是连续的,ArrayList的初始容量默认是10,每次扩容都是在当前的基础上增加一般 10 --15 --22…。是一个线程不安全的集合,因为是基于数组,每个元素都有对应的下标,所以get和set操作相对简单。
LinkedList(链表)底层是基于节点进行存储的,存储空间不连续。
LinckedList创建对象有两种方式
//第一种方式,不指定初始容量大小,默认为0
List l1 = new LinkedList();
//第二种方式,指定初始容量和每次扩容的数量
List l2 = new LinkedList(10,5);
按照第二种方式进行创建对象时,再扩容时,会按照指定的扩容数量进行扩容10–15–20…
LinkedList也是一个线程不安全的集合,对数据进行增删操作相对简单。
Vector(向量)底层是基于数组存储的,默认初始容量是10,每次扩容默认增加一倍10–20–40 Vector是一个线程安全的集合