|
|
简介
- LinkedList是基于双向循环链表(从源码中可以很容易看出)实现的,实现了List和Deque接口,除了可以当做链表来操作外,它还可以当做栈、队列和双端队列来使用。
- LinkedList同样是非线程安全的,只在单线程下适合使用。
- LinkedList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了Cloneable接口,能被克隆。
源码解析
属性
|
|
构造方法
|
|
方法
linkFirst
|
|
linkLast
|
|
linkBefore
|
|
unlinkFirst
|
|
unlinkLast
|
|
unlink
|
|
getFirst
|
|
getLast
|
|
removeFirst
|
|
removeLast
|
|
addFirst
|
|
addLast
|
|
indexOf
|
|
lastIndexOf
|
|
node
|
|
contains
|
|
size
|
|
add
|
|
remove
|
|
addAll
|
|
clear
|
|
get
|
|
set
|
|
isElementIndex
|
|
isPositionIndex
|
|
outOfBoundsMsg
|
|
checkElementIndex
|
|
checkPositionIndex
|
|
Queue Operations: 提供普通队列和双向队列的功能,当然也可以实现栈,FIFO/FILO。
peek获取队首元素
|
|
element获取队首元素
|
|
poll出队
|
|
remove出队
|
|
offer入队
|
|
offerFirst入队
|
|
offerLast
|
|
peekFirst获取队首元素
|
|
peekLast获取栈队尾元素
|
|
pollFirst出队
|
|
pollLast出队
|
|
栈操作: 通过LinkedList实现栈
push入栈
|
|
pop出栈
|
|
removeFirstOccurrence
|
|
removeLastOccurrence
|
|
迭代器
|
|
clone
|
|
toArray
|
|
序列化
|
|
节点
|
|
感谢:
http://blog.csdn.net/ns_code/article/details/35787253
http://blog.csdn.net/anxpp/article/details/51203591