何时使用List以及何时在Java中使用ArrayList?请在实际情况方面加以说明,而不是将其应用于另一个。谢谢!
编辑:另外,LinkedList。使用这些的商业情况,谢谢,这就是这个问题的不同之处。
答案 0 :(得分:0)
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。
答案 1 :(得分:-1)
提供***两个列表实现之间没有区别 例子。但是,您可以进一步使用的方式有所不同 代码中的变量myList。
将列表定义为:
列出myList = new ArrayList();你只能调用方法和参考 属于List类的成员。如果您将其定义为:
ArrayList myList = new ArrayList();你将能够调用ArrayList 具体方法除了使用ArrayList特定成员外 从List继承的那些。
然而,当您在第一个中调用List类的方法时 例如,在ArrayList中重写,然后是ArrayList中的方法 将被称为列表中的那个。
这就是所谓的多态性。你可以阅读它。***