最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)遵守國家法律
北票市| 洮南市| 会同县| 响水县| 神池县| 微博| 大足县| 固安县| 陆川县| 霞浦县| 和田县| 仁寿县| 宽城| 安图县| 余干县| 汉阴县| 莆田市| 九龙城区| 淮北市| 兴义市| 乃东县| 雷山县| 清水河县| 汤原县| 新安县| 九寨沟县| 塔河县| 麻栗坡县| 柘城县| 余干县| 梧州市| 开原市| 岑巩县| 九龙城区| 扎鲁特旗| 织金县| 达拉特旗| 安多县| 饶阳县| 荆门市| 于田县|