散列值(散列數(shù)組下標(biāo))的算法,如: "...《java基礎(chǔ)知識(shí)點(diǎn)詳細(xì)總結(jié)3》由中大網(wǎng)校JAVA認(rèn)證考試網(wǎng)發(fā)布。" />
公眾號(hào):mywangxiao
及時(shí)發(fā)布考試資訊
分享考試技巧、復(fù)習(xí)經(jīng)驗(yàn)
新浪微博 @wangxiaocn關(guān)注微博
聯(lián)系方式 400-18-8000
Map
1 HashMap 新
2 Hashtable 舊 (1.2以前)
1 散列表 Map
散列表概念
1) 容量: 散列表中散列數(shù)組大小.
2) 散列運(yùn)算: key->散列值(散列數(shù)組下標(biāo))的算法,
如: "mm".hashCode()->8
3) 散列桶: 散列值相同的元素的"線性集合"
4) 加載因子: 就是散列數(shù)組加載率, 一般小于75%性能比較理想
就是:元素?cái)?shù)量/散列數(shù)組大小, 如: 7/10=70%
5) 散列查找: 根據(jù)Key計(jì)算散列值, 根據(jù)散列值(下標(biāo))找到
散列桶,在散列桶中順序比較Key, 如果一樣, 就返回value
6) 散列表中Key不同, Value可以重復(fù)
2 HashMap(關(guān)鍵字:值), 關(guān)鍵字key是唯一不重復(fù)的, 查找表
1) key可以是任何對(duì)象, Value可以任何對(duì)象,
2) key:value 成對(duì)的放置到集合中
3) 重復(fù)的key算一個(gè), 重復(fù)添加是替換操作
4) 根據(jù)key的散列值計(jì)算散列表, 元素按照散列值(不可見(jiàn))排序
5) 默認(rèn)的容量: 16 默認(rèn)加載因子(加載率) 0.75
6) 根據(jù)key檢索查找value值
7) 用于查找場(chǎng)合, 可以提高根據(jù)key查找效率
8) HashMap VS Hashtable
A HashMap 新, 非線程安全, 不檢查鎖, 快
B Hashtable 舊 (1.2以前) 線程安全, 檢查鎖, 慢一點(diǎn)
編輯推薦:
JAVA認(rèn)證考試報(bào)考指南 / 更多JAVA考試模擬試題
(責(zé)任編輯:fky)