Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Util链表从头实现_Java_Data Structures_Linked List_Nodes_Doubly Linked List - Fatal编程技术网

Java Util链表从头实现

Java Util链表从头实现,java,data-structures,linked-list,nodes,doubly-linked-list,Java,Data Structures,Linked List,Nodes,Doubly Linked List,我想用java.util库不包含的函数实现一个单独的linkedlist,例如:返回链接列表中的中间节点并在linkedlist中插入一个新的头。我的问题是:java.util链表是什么类型的链表(例如单链表、双链表)?其次,我想知道您是否建议我从头开始实现链表。我关心的是能够在没有第三方库的情况下维护自己的代码(因为依赖性),并能够对其进行定制。我还想实现合并排序,我觉得拥有一个中间节点方法很重要。谢谢 的Java实现是一个双链表。此外,它已经能够在头部/前部添加元素(如果我理解正确的话) 链

我想用java.util库不包含的函数实现一个单独的linkedlist,例如:返回链接列表中的中间节点并在linkedlist中插入一个新的头。我的问题是:java.util链表是什么类型的链表(例如单链表、双链表)?其次,我想知道您是否建议我从头开始实现链表。我关心的是能够在没有第三方库的情况下维护自己的代码(因为依赖性),并能够对其进行定制。我还想实现合并排序,我觉得拥有一个中间节点方法很重要。谢谢

的Java实现是一个双链表。此外,它已经能够在头部/前部添加元素(如果我理解正确的话)

链表相对来说比较简单,所以如果您愿意,可以从头开始实现它们(如果您也进行简单搜索,则有大量教程)。但是,如果第三方开源库满足您的需要,我强烈建议您使用它。它的维护可能比您能够管理的任何东西都要好得多。如果你认为它落后或缺乏,你可以提供贡献


对于合并排序,不确定为什么需要它。Java collections已经实现了,并使用了可用的最有效和最新的算法。

Java.util.LinkedList
不公开对节点的直接访问,但您可以通过
listIterator
访问中间节点等。直接节点的确切含义是什么(即您不能访问什么)@Louiswasserman没有可以访问的公共
节点
类。但这不是多余的吗?您需要什么时候访问它?该库是一个通用链接列表@路易斯瓦瑟曼是的,你没有。这是…重点吗?我建议,
LinkedList
可能已经能够通过它的各种API实现您想要的功能。