如何在 Java 中从头开始实现 LinkedList 类

已发表: 2013-06-19
Crunchify Java LinkedList 实现教程

如果您实际上正在构建一个真正的生产系统,那么是的,如果您需要的东西在那里可用,您通常只需使用标准库中的东西。 也就是说,不要认为这是一个毫无意义的练习。

了解事物是如何工作的很好, understanding linked lists是了解更复杂数据结构的重要一步,其中许多数据结构在标准库中不存在。

创建链接列表的方式与 Java 集合 API 的创建方式之间存在一些差异。

Collections API 试图遵循更复杂的接口。 您的 LinkedList 将始终包含至少一个元素。

通过这种设置,您可以在需要空列表时使用 null。 将“下一个”视为“列表的其余部分”。 事实上,很多人会称它为tail而不是“下一个”。

这是一个单链表的示意图:

Crunchify 单链表示例

另一个必须阅读:

  • 如何在 Java 中遍历 LinkedList 实例?
  • Java:如何找到 LinkedList 的中间元素?

从头开始在 Java 中创建链表的最佳方法是什么?

好吧,这里是 Java 中 LinkedList 类的最简单实现。

从零开始使用 Java 中的 LinkedList - Crunchify 教程

几样东西:

这里我们只在adding 1st element时初始化Node

结果:

对此实现的增强包括使其成为double-linked list ,添加从中间或末尾insertdelete的方法,以及添加getsort方法。

来自 Laurence Gonsalves 的 Stack Overflow 的参考答案。 您可能对所有 Java 教程的列表感兴趣。