Java编程思想—11.7—LinkedList
1 LinkedList介绍
LinkedList也像ArrayList一样实现了基本的List接口,但是它执行某些操作(在List的中间插入和移除)时比ArrayList更高效,但是在随机访问操作方面逊色一些。
2 LinkedList使用
LinkedList
还添加了可以使其用作栈、队列或双端队列的方法。
这些方法中有些彼此之间只是名称有些差异,或者只存在些许差异,以使得这些名字在特定用法的上下文环境中更加适用(特别是在Queue中)。例如:
getFirst()
和element()
完全一样,它们都返回列表的头(第一个元素),而并不移除它,如果List
为空,则抛出NoSuchElementException
。peek()
方法与这两个方式只是稍有差异,它在列表为空时返null
。removeFirst()
与remove()
也是完全一样的,它们移除并返回列表的头,而在列表为空时抛出NoSuchElementException
。poll()
稍有差异,它在列表为空时返回null
。addFirst()
与add()
和addLast()
相同,它们都将某个元素插入到列表的尾(端)部。removeLast()
移除并返回列表的最后一个元素。