LinkedList底层是双向链表
双向链表
LinkedList新增的方法
主要增加了针对头结点与尾结点进行操作的方法, 即针对第一个元素和最后一个元素进行操作的方法。
void:addFirst(E e) 添加到善
void:addLast(E e) 添加到尾部
E:element()返回第一个元素
E:getFirst() 返回第一个元素
E:getLast()返回最后一个元素
boolean:offer(E e) 把元素添加到尾部
boolean:offerFirst(E e) 添加到状况
boolean:offerLast(E e) 添加到尾部
E:peek() 返回第一个元素
E:peekFirst() 返回第一个元素
E:peekLast() 返回最后一个元素
E:poll() 删除第一个元素并返回
E:pollFirst() 删除第一个元素并返回
E:pollLast() 删除最后一个元素并返回
E:pop()删除第一个元素并返回
void:push(E e) 在头部添加元素
E:removeFirst() 删除第一个元素并返回
E:removeLast() 删除最后一个元素并返回
经常使用push( E ) / pop() 模拟栈, 栈的特点是先进后出/后进先出. push( E )把元素添加到链表的头部, pop()把链表头部的元素删除并返回。
使用offer( E ) / poll() 模拟队列, 队列的特点是先进先出, offer( E )添加元素是在链表的尾部添加, poll() 是把链表的头部元素删除并返回。