1. 程式人生 > >Java常用的集合類(轉)

Java常用的集合類(轉)

概念 tor 改變 新的 ges arraylist 通過 html 重復元素

繼上一篇文章http://www.cnblogs.com/EasonJim/p/6937690.html中介紹的集合類有非常多,但是在實際使用中,最常用的應該是下面這幾種:

技術分享

Java的集合框架分為List和Set接口

Set和List:

Set子接口:無序,不允許重復。List子接口:有序,可以有重復元素。具體區別是

Set:檢索元素效率低下,刪除和插入效率高,插入和刪除不會引起元素位置改變。<對應類有HashSet,TreeSet>

List:和數組類似,List可以動態增長,查找元素效率高,插入刪除元素效率低,因為會引起其他元素位置改變。<相應類有ArrayList,LinkedList,Vector>

Set和List具體子類:

ArrayList:數據的讀取比較快(底層是用數組實現的,更擅長遍歷搜索查找,因為數組有下標的概念, 可以很方便的跳到指定的位置; 不擅長插入刪除操作;)

LinkedList:數據存儲和刪除比較快(底層是用鏈表實現的, 鏈表是一個個節點鏈起來的, 擅長插入刪除等操作(某節點斷開去掉或者重新 連接上新的節點,這類操作比較快捷,搜索查詢的話只能是一個節點一個節點的來)

HashSet:允許為Null的值,亂序(HashSet底層是采用HashMap實現的)

TreeSet:不允許放入Null值,有序(TreeSet 底層是通過TreeMap來實現的)

Map接口

HashMap:允許為Null的值,亂序

TreeMap:如果你需要得到一個有序的結果你就應該使用TreeMap(HashMap中元素的排列順序是不固定的)。

參考:

http://blog.csdn.net/u010567151/article/details/48265349(以上內容轉自此篇文章)

Java常用的集合類(轉)