列表和LinkedList

时间:2014-08-30 10:21:03

标签: java list api linked-list

此代码的含义。 为什么List = LinkedList

List<String> list1 = new LinkedList<String>();
List<String> list2 = new LinkedList<String>();

2 个答案:

答案 0 :(得分:1)

因为List是一个接口,可以分配给任何实现类。 LinkedList实施List,因此作业合法。请参阅programming to an interface

答案 1 :(得分:0)

您会看到该语言的设计功能。

List是一个通用的API,由

从其他类型中删除
public interface List<T> ...
    public int size();
    public T get(int i);

其中实现类如此指定:

public class LinkedList implements List ...
publlc class ArrrayList implements List ...

通过将变量声明为该“接口”,您可以将实现保持打开状态(例如,将来更改或重新分配另一个对象)。你没有过度指定变量。)

这也允许函数处理任何类型的List。

void f(List list) { ... }

其他一些更简单的语言没有这个选择,有一种List,一种Map,一种Set。通过允许程序员选择实现,可以获得技术质量。就像选择汽车品牌而不是汽车一样。