大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Java Map集合的理解

Java Map集合的理解

更新時間:2021-05-08 10:55:28 來源:動力節點 瀏覽940次

HashMap

1.HashSet()

loadFactor默認0.75,threshold為12

并創建一個大小為16的Entry對象數組

可調用另外兩個構造器控制初始容量值,loadFactor

數組大小由如下決定:

capacity才是創建的Entry對象數組的大小,new HashMap(5,0.6),則設loadFactor為0.6,并創建一個大小為8的Entry對象數組,threshold則為4( 8 * 0.6 = 4 )

2.put(key, value)

key為null,獲取第一個Entry對象,并基于Entry的next遍歷

key不為null,獲取key的hashCode,然后再對此hashCode作hash操作,hash完成后,將hash值與對象數組len按位與,得到key要存儲的數組位置。

增加時獲取數組首個Entry:e,并創建Entry對象,key為null,value為傳入對象,next為e。

若數組len >= threshold,擴容為2倍,擴容前對所有元素重新hash,并填充數組,最后重設置threshold。

找到key為null,更新value,返回

未找到,增加Entry。

hash沖突:不同key找到相同存儲位置,通過調用Entry對象next遍歷鏈表的方式。

3.get(Object key)

與put一樣,根據key是否為null分別處理

key為null –> 首個Entry –> next遍歷

key非null –> hash和按位與 –> 找到位置 –> 找到Entry –> next遍歷

4.remove(Object key)

類似get,找到key,當前元素更新為next元素

未找到,遍歷鏈表

5.containsKey(key)

調用getEntry,與get基本相同,返回是否為null

6.keySet()

用來遍歷Map對象,返回KeySet對象實例

調用iterator返回keyIterator,遍歷中有增刪會拋異常

HashMap要點

HashMap采用數組方式存儲key,value構成的Entry對象,無容量限制

HashMap基于key hash尋找Entry對象存放到數組的位置,對hash沖突采用鏈表的方式來解決

插入擴容,擴容時重hash,并復制對象到新的數組中

非線程安全

TreeMap

1.實現

支持排序的Map實現,不同于HashMap

2.TreeMap()

將comparator屬性為null,若希望控制存儲順序,使用帶Comparator參數的構造器

3.put(key, value)

判斷root是否為null

有,紅黑樹遍歷key,相等替換,不等找到null為止

無,判斷key是否為null

未找到相同的key,創建新的Entry,將其parent設置成上面所尋找到的元素并根據和parent key比較的情況來設置parent的left或right屬性

是,1.拋NullPointerException,2.并將key造型為Comparable,進行與上面相同過程

否,執行2

是,建新Entry,并賦給root

否,判斷有無實現Comparator

基于紅黑樹實現,一定要有key比較,要么傳入Comparator實現,要么key對象實現Comparable接口

4.get(Object)

紅黑樹查找,從根開始往下比,一直找到等key,返回其value

和put同樣的處理方式,如未傳入Comparator實現,當傳入的Object為null,拋異常

5.remove(O)

getEntry,并將Entry從紅黑樹上刪除,并重新調整樹上的相關結點。

6.containsKey(O)

同getEntry,但containsKey直接判斷返回的Entry是否為null

7.KeySet()

返回TreeMap的內部類KeySet對象的實例,iterator的遍歷從根開始,基于紅黑樹順序完成。

TreeMap要點

TreeMap基于紅黑樹實現,無容量限制

TreeMap非線程安全

以上就是動力節點小編介紹的"Java Map集合的理解",希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為您服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 伊人久久精品亚洲午夜 | 天天综合天天综合 | 成人三级视频在线观看 | 一道本不卡免费视频 | 国产中文久久精品 | 性生生活网站免费 | 波多野结衣在线观看3人 | 泰国一级毛片aaa下面毛多 | 亚洲免费中文 | 亚洲欧洲精品国产区 | 国产青色 | 国产高清一级视频在线观看 | 91资源视频 | 亚洲精品综合久久中文字幕 | 免费福利影院 | 亚洲欧美日韩国产专区一区 | a级在线观看视频 | 曰本女人色黄网站 | 激情五月开心婷婷 | 羞羞视频在线观看视频 | 国产真实一区二区三区 | 国产一区二区精品久久91 | 无遮挡一级毛片性视频不卡 | 日日操夜夜摸 | 经典国产乱子伦精品视频 | 日本欧洲95视频 | 久久99精品视频 | 日本成本人观看免费视频fc2 | 欧美在线视频免费 | a毛片视频免费观看影院 | 久久99精品久久久久久秒播放器 | 波多野结衣免费一区二区三区香蕉 | 日韩精品福利 | 久久中精品中文 | 午夜欧美| 国产色av| 日日夜夜亚洲 | 暗香影院午夜国产精品 | 欧美日韩国产最新一区二区 | 欧美日韩亚洲国产精品一区二区 | 精品国产免费观看一区 |