LinkedList

2018-05-18  本文已影响16人  莫比乌丝环丶

LinkedList是基于双端链表的List,其内部的实现基于对链表的操作,所以适用于频繁增加、删除的情况;该类不是线程安全的;
另外,由于LinkedList实现Queue接口,所以LinkedList不止有队列的接口,还有栈的接口,可以使用LinkedList作为队列和栈

LinkedList内部结构示意图

部分方法对比

offerFirst(E e) 与 addFirst(E e):

offerFirst()方法用于将数据插入链表头部,与addFirst的区别在于该方法可以返回特定的返回值,而addFirst的返回值为void。

E getFirst()、E element() 和 E peekFirst()、E peek()、

前者会在链表为空时,抛出NoSuchElementException。后者返回null。

E remove()、E pop()、E removeFirst() 和 E poll()、E pollFirst()

E remove()、E pop()、E removeFirst() 前面两个通过源码看都是调用的第三个,并且在链表为空的时候抛出NoSuchElementException。
E poll()、E pollFirst() 实现代码是相同的,在链表为空时将返回null。

上一篇下一篇

猜你喜欢

热点阅读