何時使用List以及何時使用Java中的ArrayList?請根據實際情況說一些你更願意相互應用的情況。謝謝!什麼時候使用List以及何時使用ArrayList,也是Java中的LinkedList?
編輯:另外,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中給出的鏈接。