Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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_Data Structures - Fatal编程技术网

Java 链表是抽象数据类型还是数据结构?

Java 链表是抽象数据类型还是数据结构?,java,data-structures,Java,Data Structures,因为它似乎被明确定义为包含一些数据和下一个节点的地址的节点,所以我假设它是一个数据结构,而不是一个抽象数据类型 然而,在维基百科的这篇文章中,它并没有被包括在内。出于学习的目的,我本以为它是阵列的下一个重要部分,但除了在“请参见”下,它没有列出 这是我们的维基百科 下面是一个更准确的wikipedia条目JavaLinkedList是一个具体的类,它实现了每个节点通过链接链接到一个或多个邻居的结构 您链接到的抽象数据类型Wikipedia文章以完全不同的含义使用了单词Abstract。这意味着数

因为它似乎被明确定义为包含一些数据和下一个节点的地址的节点,所以我假设它是一个数据结构,而不是一个抽象数据类型

然而,在维基百科的这篇文章中,它并没有被包括在内。出于学习的目的,我本以为它是阵列的下一个重要部分,但除了在“请参见”下,它没有列出

这是我们的维基百科


下面是一个更准确的wikipedia条目

Java
LinkedList
是一个具体的类,它实现了每个节点通过链接链接到一个或多个邻居的结构

您链接到的抽象数据类型Wikipedia文章以完全不同的含义使用了单词
Abstract
。这意味着数据类型是以抽象的方式定义的,就像我在上面描述的Java LinkedList(实现了每个节点通过链接链接到一个或多个邻居的结构)


在Java中,抽象数据类型是无法实际实例化的类型——它们只能进行扩展。这里使用单词
abstract
与使用
ADT

中的单词abstract无关Java
LinkedList
是一个具体的类,它实现了一种结构,其中每个节点通过链接链接到一个或多个相邻节点

您链接到的抽象数据类型Wikipedia文章以完全不同的含义使用了单词
Abstract
。这意味着数据类型是以抽象的方式定义的,就像我在上面描述的Java LinkedList(实现了每个节点通过链接链接到一个或多个邻居的结构)


在Java中,抽象数据类型是无法实际实例化的类型——它们只能进行扩展。这里使用的单词
abstract
与在
ADT

中使用单词abstract无关,因为我知道LinkedList不是ADT。它是数据结构。选中此链接,它包含linkedlist


Linkedlist可以是单链接或双链接。

我知道Linkedlist不是ADT。它是数据结构。选中此链接,它包含linkedlist

        Stack s = new Stack<>();
List l = new LinkedList<>();
s.push(45);
s.push("str");
l.add("hi");
l.add(4);
//s.push("String");
Linkedlist可以是单链接或双链接。

Stack s=new Stack();
        Stack s = new Stack<>();
List l = new LinkedList<>();
s.push(45);
s.push("str");
l.add("hi");
l.add(4);
//s.push("String");
列表l=新的LinkedList(); s、 推(45); s、 推送(“str”); l、 添加(“hi”); l、 增加(4); //s、 推(“弦”);
列表是ADT,链接列表是数据结构

堆栈是ADT和数据结构,因为它与对象一起工作,不需要具体实现。

Stack s=new Stack();
列表l=新的LinkedList();
s、 推(45);
s、 推送(“str”);
l、 添加(“hi”);
l、 增加(4);
//s、 推(“弦”);
列表是ADT,链接列表是数据结构



堆栈是ADT和数据结构,因为它与对象一起工作,不需要具体实现。

作为ADT,链表描述了它的特性。作为一种数据结构,它是一种可以使用的实现。链表是一种实现类型,而不是ADT。在大多数情况下,普通的“链表”指的是单个(或简单)链表,这将是一种数据结构。我想你可能会发现这个链接很有用:作为ADT,链表描述了它的特性。作为一种数据结构,它是一种可以使用的实现。链表是一种实现类型,而不是ADT。在大多数情况下,普通的“链表”指的是一个单独(或简单)的链表,这将是一个数据结构。我想你可能会发现这个链接很有帮助:很好的链接支持我的定义:
,因为没有太多的一致性,如果有多个实现,我将建议它不是抽象数据类型。例如,队列可以实现为数组或链表,因此它是ADT。数组不能以多种方式实现,因此它是一种数据结构。需要有一种一致的方式来传达这一点,我认为这很有效。
你能找到更正式的方式来区分这两者吗?试试这一个,它提供了一个很好的链接来支持我的定义:
因为没有太多的一致性,如果有多个实现,我将建议它不是抽象数据类型。例如,队列可以实现为数组或链表,因此它是ADT。数组不能以多种方式实现,因此它是一种数据结构。需要有一种一致的方式来传达这一点,我认为这很有效。
你能找到更正式的方式来区分这两者吗?试试这一种吧。wellnope ADT不是一个Java术语,它是一个CS术语。你的回答横向偏离了90度左右。从我问题的上下文来看,我指的不是Java关键字
abstract
。因此,答案也不应该如此+1任何方式。问题有
java
标记。在java中,确实有
LinkedList
类,它是一个具体的类
LinkedList实际上是
概念的一个实现,每个节点通过链接链接到一个或多个邻居。每个节点都有数据和到另一个相同类型节点的链接
。我觉得答案并没有偏离轨道。LinkedList是一种数据结构。它不像
堆栈
队列
那样是ADT。不,ADT不是Java术语,它是CS术语。你的回答横向偏离了90度左右。从我问题的上下文来看,我指的不是Java关键字
abstract
。因此,答案也不应该如此+1任何方式。问题有
java
标记。在java中,确实有
LinkedList
类,它是一个具体的类
LinkedList实际上是
概念的一个实现,每个节点通过链接链接到一个或多个邻居。每个节点都有数据和到另一个相同类型节点的链接
。我觉得答案并没有偏离轨道。LinkedList是一种数据结构。它不是像
Stack
o那样的ADT