java集合

摘自百度百科


定義:把具有相同性質的一類東西,匯聚成一個整體,就可以稱爲集合。



集合框架是爲表示和操作集合而規定的一種統一的標準的體系結構。任何集合框架都包含三大塊內容:對外的接口、接口的實現和對集合運算的算法。


數組和容器


數組是Java提供的,能隨機存儲和訪問reference序列的諸多方法中的,最高效的一種。數組是一個簡單的線性序列,所以它可以快速的訪問其中的元素。


等到快不夠用的時候,再創建一個新的,然後將舊的數組裏的reference全部導到新的裏面ArrayList就是這麼做的使得ArrayList的效率比起數組有了明顯下降。


1.數組把對象和數字形式的下標聯繫起來。它持有的是類型確定的對象,這樣提取對象的時候就不用再作類型傳遞了。它可以是多維的,也可以持有primitive。但是創建之後它

的容量不能改了。


2.Collection持有單個元素,而Map持有相關聯的pair。


3.和數組一樣,List也把數字下標同對象聯繫起來,你可以把數組和List想成有序的容器。List會隨元素的增加自動調整容量。但是List只能持有Objectreference,所以不能存放

primitive,而且把Object提取出來之後,還要做類型傳遞。


4.如果要做很多隨機訪問,那麼請用ArrayList,但是如果要再List的中間做很多插入和刪除的話,就應該用LinkedList了。


5.LinkedList能提供隊列,雙向隊列和棧的功能。


6.Map提供的不是對象與數組的關聯,而是對象和對象的關聯。

HashMap看重的是訪問速度,而TreeMap看重鍵的順序,因而它不如HashMap那麼快。而LinkedHashMap則保持對象插入的順序,但是也可以用LRU算法爲它重新排序。


7.Set只接受不重複的對象。HashSet提供了最快的查詢速度。而TreeSet則保持元素有序。LinkedHashSet保持元素的插入順序。


8.沒必要再在新代碼裏使用舊類庫留下來的Vector,Hashtable和Stack了。

容器類庫是你每天都會用到的工具,它能使程序更簡潔,更強大並且更高效。
發佈了23 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章