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

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

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

2023-07-18 22:29 作者:bili_67519461716  | 我要投稿

集合

List

list集合存放元素有序,可以重復(fù),線程不安全。

1.ArrayList:底層用的是一維數(shù)組,默認(rèn)容量為10,擴(kuò)容機(jī)制為原來(lái)的1.5倍。

2.LinkedList:底層使用的是雙向鏈表,

注意:ArrayList和LinkedList的比較主要在于底層不同,也就是數(shù)組跟鏈表進(jìn)行比較。

3.Vector:已被棄用了,底層也是數(shù)組,默認(rèn)容量為10,擴(kuò)容機(jī)制需要查看容量增量是否大于0,若大于0則為當(dāng)前長(zhǎng)度+容量增量,否則為原來(lái)的2倍。線程安全,當(dāng)效率低。

注意:ArrayList和Vector的區(qū)別:擴(kuò)容機(jī)制不同,線程安全不同。

4.Stack:先進(jìn)后出的原則,繼承了Vector,線程安全。

注意:區(qū)分Stack哪些方法會(huì)拋出異常和Stack的特殊方法。

Set

Set集合存放元素?zé)o序(無(wú)序不等于隨機(jī)),不允許重復(fù)。set的底層基本采用map。線程不安全。

1.HashSet:底層采用HashMap存放元素,Vaule存放同一個(gè)靜態(tài)的static obj = new Objetc();獲取到map的key單列集合。

2.TreeSet:底層采用TreeMap存放元素。

3.LinkedSet:底層采用LinkedMap存放元素。

Map

Map集合存放鍵值對(duì),

1.HashMap:底層采用entry數(shù)組(也就是hash表),entry里的屬性key、value、hash、next,容量必須為2的冪次方,默認(rèn)容量為16,默認(rèn)負(fù)載因子為0.75(取得時(shí)間與空間的平衡)。

存放元素的過(guò)程: 判斷是否初始化容器,判斷是否為空,為空則令下標(biāo)為0,并查看0上是否有元素,有則進(jìn)行遍歷,查看是否有相同元素,有則進(jìn)行替換value值,沒(méi)有則創(chuàng)建一個(gè)entry,進(jìn)行尾插法(jdk1.7用頭插法),key值不為空需要獲取hash值并在與高16位進(jìn)行按位異或,在與長(zhǎng)度減一進(jìn)行與運(yùn)算(使其元素更加均勻分布在哈希表中),再查看下標(biāo)上是否有元素,有需要遍歷,查看是否有key值是否有一樣的,有需要替換value,沒(méi)有相同key值,則創(chuàng)建一個(gè)entry,判斷容器是否需要擴(kuò)容(擴(kuò)容需要從新計(jì)算元素下標(biāo),用其hash值與新數(shù)組長(zhǎng)度進(jìn)行按位與運(yùn)算,判斷其是在原來(lái)的位置還是新位置,分成2個(gè)鏈表放入新數(shù)組中),再插入尾巴上。

2.TreeMap:采用紅黑樹(shù),需要一個(gè)比較器,進(jìn)行排序,不允許null鍵。

3.LinkedHashMap:采用雙向鏈表存放一個(gè)一個(gè)的entry對(duì)象和上一個(gè)下一個(gè),存放順序與取出順序一致。

4.ConcurrentHashMap:線程安全,JDK1.8CAS鎖。

5.HashTable:線程安全。已被棄用

注意ConcurrentHashMap和HashTable的區(qū)別:加鎖方式不同:ConcurrentHashMap采用JDK1.8CAS鎖(JDK1.7采用段位鎖),HashTable采用sychronized加鎖在方法上,效率低下。

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

分享到微博請(qǐng)遵守國(guó)家法律
香港| 临桂县| 会东县| 宁武县| 容城县| 黔南| 林口县| 安陆市| 河南省| 凌源市| 额济纳旗| 民和| 文安县| 东乌珠穆沁旗| 禹城市| 汽车| 麻阳| 武邑县| 庐江县| 遵化市| 吴桥县| 麦盖提县| 务川| 微山县| 九寨沟县| 拉萨市| 台前县| 长武县| 南开区| 泗洪县| 梁平县| 青阳县| 修文县| 澄江县| 康平县| 仁布县| 深州市| 南木林县| 泗阳县| 白银市| 南澳县|