欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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是一个线程安全的集合

相关标签: ArrayList