什么时候使用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中 方法将被称为不是一个在列表中。
这就是所谓的多态性。你可以在那里阅读。***
答
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中给出的链接。