8.5.3 LinkedList实现类
LinkedList
类是List
接口的实现类—这意味着它是一个List
集合,可以根据索引来随机访问集合中的元素。除此之外, LinkedList
还实现了Deque
接口,可以被当成双端队列
来使用,因此既可以被当成”栈”来使用,也可以当成队列使用。下面程序简单示范了LinkedList
集合的用法.
1 | import java.util.*; |
上面程序中粗体字代码分别示范了LinkedList
作为List
集合、双端队列、栈的用法。由此可见,LinkedList
是一个功能非常强大的集合类。LinkedList
与ArrayList
、 ArrayDeque
的实现机制完全不同,
ArrayList
、ArrayDeque
内部以数组的形式来保存集合中的元素,因此随机访问集合元素时有较好的性能;- 而
LinkedList
内部以链表的形式来保存集合中的元素,因此随机访问集合元素时性能较差,但在插入、删除元素时性能比较出色(只需改变指针所指的地址即可)。
需要指出的是,虽然Vector
也是以数组的形式来存储集合元素的,但因为它实现了线程同步功能(而且实现机制也不好),所以各方面性能都比较差
注意
对于所有的内部基于数组的集合实现,例如ArrayList
、 ArrayDeque
等,使用随机访问的性能比使用Iterator
迭代访问的性能要好,因为随机访问会被映射成对数组元素的访问。
原文链接: 8.5.3 LinkedList实现类