java中的集合講解

java集合主要有三種類型:

   ●List:是個有序集合,可以放重複的數據

   ●Set: 是個無序集合,不可以放重複數據

   ●Map: 是個無序集合,一個鍵對象,一個值對象,鍵對象不可以重複,值對象可以重複。


以下圖解是List和Set集合的繼承關係:

wKiom1MHaOaBltcRAAQWg15nv6g044.jpg



也許你看了上面的繼承圖,可能有點疑惑:鏈表、哈希表等數據結構到底是怎麼樣的呢?

接下來詳細解析一下數組、鏈表和哈希表等數據結構:

●數組數據結構:

wKioL1MIlf-Sa5XKAAEWpj1YzR8677.jpg


    通過上圖不難發現,知道了數組首元素內存地址,要查找的元素只要知道下標就可以快速計算出偏移量,通過首元素內存地址加上偏移量快速計算出要查找元素的內存地址,通過內存地址就可以快速定位該元素,所以數組查詢效率很高。同理,增刪元素時,爲了保證數組中的元素是有序的,就要重新維護這個順序,導致增刪元素效率很低。


●單向鏈表數據結構:

wKioL1MInASQZBDvAALHAoeHKTs527.jpg



●雙向鏈表數據結構:

wKioL1MIoxqgvTFKAAEI5VG561A893.jpg

存儲原理和單向鏈表類似,在這裏就不多說了。


●哈希表數據結構:


wKioL1MIrL6RRU1rAAF8z9tLHgA577.jpg

哈希表可以看做是,數組和單向鏈表的結合,所以哈希表的增刪和查詢效率都是很高的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章