因为它似乎被明确定义为包含一些数据和下一个节点的地址的节点,所以我会假设它是一种数据结构而不是抽象数据类型。
然而,在维基百科关于数据结构的这个条目中,它不包括在内。出于学习的目的,我预计它的重要性仅次于数组,但它没有列出,除非在另见下
这是ADT的维基百科。
这是数据结构列表的看似更准确的维基百科条目
JavaLinkedList
是一个具体的类,它实现了每个节点通过链接链接到一个或多个邻居的结构。
您链接到的抽象数据类型维基百科文章以完全不同的含义使用该词abstract
。这意味着数据类型是以一种抽象的方式定义的——就像我在上面描述的 Java LinkedList 一样(实现了每个节点通过链接链接到一个或多个邻居的结构)。
在 Java 中,抽象数据类型是实际上不能被实例化的类型——它们只能被扩展。此处使用该词abstract
与在 中使用“抽象”一词无关ADT
。
据我所知,LinkedList 不是 ADT。是数据结构。检查此链接http://en.wikipedia.org/wiki/List_of_data_structures它包含链接列表。
Linkedlist 可以是单链接的,也可以是双链接的。
Stack s = new Stack<>();
List l = new LinkedList<>();
s.push(45);
s.push("str");
l.add("hi");
l.add(4);
//s.push("String");
List 是 ADT,LinkedList 是数据结构。
堆栈是 ADT 和数据结构,因为它与对象一起工作,不需要具体实现。