List 與 ArrayList 的使用


  最近回顧 java 集合,發現大部分程序中都在使用 List list = new ArrayList(); 也有部分程序使用 ArrayList list = new ArrayList(); 那么他們兩個有什么差別呢?

  首先,List 集合代表一個 元素有序、可重復的集合,List 是 Collection 的接口的子接口;而 ArrayList 是一個類,還實現 Lits 接口。

  Lits list = new ArrayList(); 這一句創建了 ArrayList 的對象后向上轉型到了 List。此時他是一個 List 對象了,這個對象就不能使用 ArrayList 有但是 List 沒有的屬性和方法。而 ArrayList list = new ArrayList(); 這一句創建的對象則保留了所有 ArrayList 的所有屬性和方法。

  那么為什么大多數時候都在使用 List list = new ArrayList(); 呢?問題就在於,List 有多個實現類,如 LinkedList、vector 等,現在你用的是 ArrayList,也許哪一天你需要更換為其他的實現類,這是只需要改變一行代碼就可以:List list = new LinkedList(); 其他使用了 list 的地方就不用動了,假設你開始用的是 ArrayList list = new ArrayList(); 那么要改的地方及很多了,尤其是使用了 ArrayList 特有的方法和屬性。如果沒有特別需求的話,最好使用 List list = new ArrayList(); 便於程序代碼重構。這就是面向接口編程的好處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM