map集合的特點:
map集合的結構是:鍵值對、KEY與VALUE、Map.Entry<K,V>的映射關系
map中key值不允許重復,如果重復,對應的value會被覆蓋
map中的映射關系是無序的
map沒有自己的迭代器,所以迭代時通常需要轉成set集合來迭代
map集合的存儲過程:
1,HashMap底層是entry[]數組,初始長度為16,加載因子0.75f(每次擴容是初始長度的2倍),其中加載因子:當數組長度大於4分之3的時候,數組自動擴容為長度為32的數組
2,HashMap中數據存放的位置是根據hash(key)%n來確定的,如果出現hash碰撞(即出現兩個位置相同的數據,那么第二個數據的存放位置是以第一個數據位置為基礎的一個鏈表,其中當hash(key)%n相同的個數>8並且
數據組的長度大於64的時候,鏈表就變成了紅黑數)
3,當鏈表的長度<6是,紅黑數變成鏈表
4,hashmap的存儲過程圖解如下;