《Java编程十五讲》第十四讲:Java里提供的常用数据容器框架LinkedList

205 阅读1分钟

第十四讲 容器框架二

LinkedList,它实现的基础是双向链表,因此在插入和删除方面具有性能优势。它也可以用来实现stack和queue。顺便说一句,Java容器框架中有一个遗留的类Stack,它是基于Vector实现的,不建议使用。

LinkedList主要有3个属性:

  • int size
  • Node<E> first
  • Node<E> last

也就是通过一个链表把size个Node从头串到尾。而Node就是一个类的节点包装类,有item,有prev和next。图示如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T20SWmRA-1592014731010)(/api/storage/getbykey/original?key=200453c86e2b80a59f6f)]

LinkedList也是List,因此同样具有List的那些操作,这一点跟ArrayList一样,因此下面我们只介绍它不一样的部分。

LinkedList同时也实现了Deque,因此它具有Deque的方法,如下面的12个:

第一个元素 (头)最后一个元素 (尾)
插入addFirst(e)offerFirst(e)addLast(e)offerLast(e)
删除