ArrayList
是一个动态数组,在随机访问元素时性能较高,但插入和删除元素效率较低。 ArrayList
都有一个初始容量,代表了数组的大小,在 ArrayList
快满时,会进行扩容操作,每次增长 1.5
倍大小。但 ArrayList
是非同步的,在多线程场景下不要使用。 LinkedList
是一个双向链表,由于实现方式不同,它不支持随机访问,但很容易在列表中间进行插入和删除操作。与 ArrayList
一样,LinkedList
也是非同步的。
Vector
Vector
与 ArrayList
类似,基于动态数组实现,但 Vector
是同步的。它的操作与 ArrayList
几乎一样。