在日常開發中,集合與排序是每一個程序員經常用到的技能,但是在用集合的時候我們還應該知道他的底層結構是什么樣的.
首先來說一下list集合,list集合底層代碼是通過延長數組來實現的,所有我們在list集合中經常可以感覺其用法與數組非常類似.list集合會有一個初始的長度,在每一次進行存值的時候,list集合都會判斷該集合的長度是否達到臨界值(一般為75%),然后對其進行擴容,一般是對當前的長度進行翻倍.這樣就可以使list集合擁有無限長的空間存儲數據.
set集合是一種單列的,不重復的集合.一般用于存取一些主要的數據,比如用戶的一些核心信息,這些東西不允許重復的.而且set集合因為實現了hashCode的算法來進行存取,所有有比較強的查找與讀取能力.
Map集合也是我們平常廣泛用到的一種集合,map集合的長度與list大致相同,但是map集合是一種list集合與set集合的組合起來的集合,因為它是在一條list上給每個元素對應一個set集合,還會對該set集合進行鏈表式排序,當集合中的數據大于指定數量時,map集合對將數據再次進行紅黑樹的排序,以保證查詢的效率.
咨詢熱線
010-85377344
135-21581588
微信客服
QQ客服
3026106565 點擊咨詢