在LinkedList和List之间以编程方式区分

时间:2014-01-02 11:16:27

标签: java list linked-list

我想以编程方式了解ListLinkedList之间的区别。任何人都可以帮助我吗?

List list=new LinkedList();

4 个答案:

答案 0 :(得分:1)

ListinterfaceLinkedListsubclass List,它实现了List接口的方法(以及其他一些实用工具方法)。< / p>

HashMap是一种完全不同类型的datastructure实现Map,用于存储键值对。

所以不要对ListLinkedListHashMap感到困惑......更好地准备好这些结构。

答案 1 :(得分:1)

  • 列表:列表扩展了Collection接口。 List是具有有序元素序列的集合,可能包含重复项。 ArrayListLinkedListVector是List接口的实现。 (即基于指数

  • LinkedList 在将项目添加到列表之前不会为项目分配内存。 LinkedList中的每个项目都包含指向列表中下一个的指针。LinkedListList接口的实现。

enter image description here

enter image description here

答案 2 :(得分:0)

List是一个接口,LinkedList是一个实现List接口的Concrete类。因此,您可以创建LinkedList(具体类)的对象,但不能创建List(接口)。每个LinkedList也是一个List,所以你可以做

List list=new LinkedList();

链接列表声明:

public class java.util.LinkedList extends java.util.AbstractSequentialList implements java.util.List, java.util.Deque, java.lang.Cloneable, java.io.Serializable {
}

答案 3 :(得分:0)

LinkedList是一种特殊类型的数据结构,其中List是使用LinkedList实现的。您甚至可以使用数组创建一个实现列表接口(尽管通常使用LinkedList实现)。主要的是你只是提供一些界面功能。但LinkedList本身就具有普遍性。