Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 单链表的用途是什么?_Java_List_Arraylist - Fatal编程技术网

Java 单链表的用途是什么?

Java 单链表的用途是什么?,java,list,arraylist,Java,List,Arraylist,我知道ArrayList和双链表在编程中很常用。我知道还有其他不同的方法可以列出清单。单链表我被告知单链表在编程列表中不常用。我想知道单链表可以用来做什么。它是一种数据结构,所以通常用于保存数据。不过,我所看到的单版本的主要用途是 用于学习编程。在学校里,写一篇作文是一项极为常见的作业。它们的工作原理与双链表基本相同,但编写起来更简单。当您尝试编写DLL时,SLL如何工作的知识可以转移到。它们也是最简单的递归结构(据我所知),因此有关它们的知识也可以转移到更复杂的结构,如递归树 许多函数式语言

我知道ArrayList和双链表在编程中很常用。我知道还有其他不同的方法可以列出清单。单链表我被告知单链表在编程列表中不常用。我想知道单链表可以用来做什么。

它是一种数据结构,所以通常用于保存数据。不过,我所看到的单版本的主要用途是

  • 用于学习编程。在学校里,写一篇作文是一项极为常见的作业。它们的工作原理与双链表基本相同,但编写起来更简单。当您尝试编写DLL时,SLL如何工作的知识可以转移到。它们也是最简单的递归结构(据我所知),因此有关它们的知识也可以转移到更复杂的结构,如递归树

  • 许多函数式语言广泛使用SLL,因为它们可以很好地处理递归函数和不变性。每次递归都要分离头部“修改它”,然后将“修改的头部”重新附加到递归的结果上。这就是函数式编程中简单迭代的实现方式。DLL在这里不起作用,因为每个节点持有的向后引用会迫使您在每次尝试分离/连接头时更新/复制每个节点中的每个引用;这将导致荒谬的时间复杂性

  • 当您只需要向前迭代时
  • 当您只需要添加或删除前面的元素时

  • 据我所知,引用链接使用传统意义上的单链接列表。