什么时候使用List以及何时使用ArrayList,也是Java中的LinkedList?

问题描述:

何时使用List以及何时使用Java中的ArrayList?请根据实际情况说一些你更愿意相互应用的情况。谢谢!什么时候使用List以及何时使用ArrayList,也是Java中的LinkedList?

编辑:另外,LinkedList。这些使用的业务情况,谢谢,那就是这个问题有什么不同。

***在两个 示例中,列表实现之间没有区别。但是,您可以在代码中进一步使用 变量myList。

当你定义名单为:

列表myList中=新的ArrayList();您只能调用方法并参考属于List类的成员 。如果将其定义为:

ArrayList myList = new ArrayList();您将能够调用ArrayList 特定方法,并使用从List继承的 之外的ArrayList特定成员。

然而,当你调用一个List类的方法,在第一 例子,这是在ArrayList中重写,然后从ArrayList中 方法将被称为不是一个在列表中。

这就是所谓的多态性。你可以在那里阅读。***

对此答案予以ATrubkahere

List是一个接口给出。其他两个是其中的实现。 你主要想对接口进行编码。这是你西港岛线做类似

List<String> strList = new ArrayList<String>(); 

后来在编码过程中,你可能会发现,LinkedList的对您的方案更好的性能,所以你只需要改变一个位置。或者,也许你不关心使用哪个具体的实现,你只需要“某种列表”。然后你可以使用注入的List实现。就像这样:

class ExampleClass{ 
    private List<String> strList = null; 

    // We don't know and we don't care if Array or Linked List. 
    public ExampleClass(List<String> aList){ 
     strList = aList; 
    } 

    //... 
} 

对于实现之间的差异,看到在评论为“可能的重复......”或JavaDoc中给出的链接。