五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

千鋒教育Java入門全套視頻教程(java核心技術(shù),適合java零基礎(chǔ),Java

2023-07-23 23:25 作者:小丨丨天  | 我要投稿

HashMap

線程不安全的集合

數(shù)據(jù)結(jié)構(gòu):

JDK1.7:一維數(shù)組 + 單向鏈表,添加數(shù)據(jù)采用頭插法

JDK1.8:一維數(shù)組 + 單向鏈表or紅黑樹,添加數(shù)據(jù)采用尾插法

內(nèi)部屬性:

默認(rèn)初始化數(shù)組長度 - static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;

數(shù)組的最大長度 - static final int MAXIMUM_CAPACITY = 1 << 30;

默認(rèn)的負(fù)載因子 - static final float DEFAULT_LOAD_FACTOR = 0.75f;

結(jié)構(gòu)由鏈表轉(zhuǎn)為紅黑樹的鏈表長度閾值 - static final int TREEIFY_THRESHOLD = 8;

結(jié)構(gòu)由紅黑樹轉(zhuǎn)為鏈表的樹的節(jié)點(diǎn)個(gè)數(shù)閾值 - static final int UNTREEIFY_THRESHOLD = 6;

結(jié)構(gòu)由鏈表轉(zhuǎn)為紅黑樹的數(shù)組長度閾值 - static final int MIN_TREEIFY_CAPACITY = 64;

底層存儲(chǔ)數(shù)據(jù)的Node<K,V>數(shù)組,也叫hash表/hash數(shù)組 - transient Node<K,V>[] table;

一個(gè)Set集合,存放entry - transient Set<Map.Entry<K,V>> entrySet;

元素個(gè)數(shù)(鍵值對(duì)個(gè)數(shù))- transient int size;

外部操作數(shù) - transient int modCount;

擴(kuò)容閾值 - int threshold;

計(jì)算擴(kuò)容閾值的負(fù)載因子 - final float loadFactor;

構(gòu)造方法:

無參構(gòu)造:簡單初始化數(shù)據(jù),并將負(fù)載因子賦值為默認(rèn)負(fù)載因子

兩個(gè)參數(shù)的構(gòu)造器(int a, float b):判斷參數(shù)的合法性,a不能小于0,a不能大于數(shù)組的最大長度,b不能小于等于0,b不能是NaN(Not a Number 非數(shù)字),如果a是二的冪,則將數(shù)組長度賦值為a,否則就通過算法,將數(shù)組長度賦值為大于a并且最靠近a的2的冪

一個(gè)參數(shù)的構(gòu)造器(int a):直接調(diào)用兩個(gè)參數(shù)的構(gòu)造器,傳入 a 和默認(rèn)的負(fù)載因子

一個(gè)參數(shù)的構(gòu)造器(Map m):將負(fù)載因子賦值為默認(rèn)負(fù)載因子,將傳入的Map集合的映射關(guān)系取出并存入hash表中

擴(kuò)容機(jī)制:

當(dāng)數(shù)組中的元素個(gè)數(shù)(映射關(guān)系個(gè)數(shù))達(dá)到閾值的時(shí)候并且添加元素的數(shù)組的位置有元素時(shí),進(jìn)行擴(kuò)容,每次擴(kuò)容為原來的兩倍

JDK1.8特有:當(dāng)數(shù)組中存在長度大于8的鏈表,并且數(shù)組長度小于64的時(shí)候,會(huì)進(jìn)行擴(kuò)容,也是按兩倍擴(kuò)容

樹和鏈表的轉(zhuǎn)換閾值

鏈表 ---> 樹:數(shù)組長度大于64,數(shù)組中存在長度大于8的鏈表

樹 ---> 鏈表:數(shù)組中樹的節(jié)點(diǎn)數(shù)小于6

千鋒教育Java入門全套視頻教程(java核心技術(shù),適合java零基礎(chǔ),Java的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
和硕县| 万年县| 莱阳市| 临猗县| 永安市| 兴隆县| 门源| 泽州县| 东城区| 当涂县| 无为县| 南乐县| 漠河县| 九寨沟县| 合山市| 松溪县| 涿州市| 银川市| 株洲市| 化德县| 白河县| 安丘市| 石景山区| 双桥区| 泗阳县| 太保市| 濮阳县| 普洱| 庆云县| 屏东县| 北辰区| 桂东县| 博乐市| 祁阳县| 石柱| 仪征市| 重庆市| 民和| 斗六市| 泽库县| 大城县|