ArrayList 底层是一个数组。ArrayList的中文名为“数组列表”
数组结构的特点是元素增删慢,查找快。
由于java.util.ArrayList 集合数据存储的结构是数组结构,所以它的特点也是元素增删慢,但是查询快。
java.util.LinkedList 集合数据存储的结构是链表结构。方便元素添加、删除的集合。
元素添加,删除速度快,而查询速度慢。
list列表数据是有序的。这里的查询指的都是按照索引查询
数组列表按照索引查询数据的代码
E elementData(int index) {
return (E) elementData[index];
}
// 链表按照索引查询节点的代码
Node<E> node(int index) {
// assert isElementIndex(index);
if (index < (size >> 1)) {
Node<E> x = first;
for (int i = 0; i < index; i++)
x = x.next;
return x;
} else {
Node<E> x = last;
for (int i = size - 1; i > index; i--)
x = x.prev;
return x;
}
}