List and LinkedList



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

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

因为List是一个接口,它可以分配给任何实现类。LinkedList实现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。通过允许程序员选择实现,给出了技术质量。比如选择一个汽车品牌而不是汽车。

相关内容

  • 没有找到相关文章

最新更新