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

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

Java雙列集合

2023-02-25 19:31 作者:回到唐朝當(dāng)少爺  | 我要投稿

雙列集合

最近剛學(xué)Java,隨便記點(diǎn)學(xué)習(xí)筆記

雙列集合的特點(diǎn):

  1. 雙列集合一次需要存一對(duì)數(shù)據(jù),分別為鍵和值

  2. 鍵不能重復(fù),值可以重復(fù)

  3. 鍵和值是一一對(duì)應(yīng)的

  4. 鍵+值整體稱為"鍵值對(duì)"或"鍵值對(duì)對(duì)象",在java中叫作"Entry"對(duì)象

Map常見API

Map是雙列集合的頂層接口,它的功能是全部雙列集合都可以繼承使用的

Map的遍歷方式

1.鍵找值

2.鍵值對(duì)

3.lambda表達(dá)式

HashMap

  1. HashMap是Map里面的一個(gè)實(shí)現(xiàn)類

  2. 沒有額外需要學(xué)習(xí)的特有方法,直接使用Map里面的方法就可以了

  3. 特點(diǎn)都是由鍵決定的:無序,不重復(fù),無索引

  4. HashMap和HashSet底層原理是一樣的,都是哈希表結(jié)構(gòu),數(shù)組+鏈表+紅黑樹

  5. 以來hashCode方法和equals方法保證鍵的唯一

  6. 如果鍵存儲(chǔ)的是自定義對(duì)象,需要重寫hashCode和equals方法

  7. 如果值存儲(chǔ)自定義對(duì)象,不需要重寫hashCode和equals方法

LinkedHashMap

  • 由鍵決定:有序,重復(fù),無索引

  • 有序指的是保證存儲(chǔ)和取出的元素順序一致

  • 原理:底層數(shù)據(jù)結(jié)構(gòu)依然是哈希表,還是每個(gè)鍵值對(duì)元素又額外多了一個(gè)雙鏈表的機(jī)制記錄存儲(chǔ)的順序

TreeMap

  • 底層和TreeSet底層原理一樣,都是紅黑樹結(jié)構(gòu)

  • 由鍵決定特性:不重復(fù),無索引,可排序

  • 可排序:對(duì)鍵進(jìn)行排序

  • 注意:默認(rèn)按照鍵的從小到大進(jìn)行排序,也可以自己規(guī)定鍵的排序規(guī)則

代碼書寫兩種排序規(guī)則:

  1. 實(shí)現(xiàn)Comparable接口,指定比較規(guī)則

  2. 創(chuàng)建集合時(shí)傳遞Comparator比較器對(duì)象,指定比較規(guī)則

統(tǒng)計(jì)思想:利用Map排序

  • 如果題目中沒有要求對(duì)結(jié)果進(jìn)行排序,默認(rèn)使用HashMap

  • 如果要求,則用TreeMap

  • 鍵:要統(tǒng)計(jì)的內(nèi)容

  • 值:次數(shù)

三種雙列集合的選擇

  • 默認(rèn):HashMap

  • 如果要保證存取有序:LinkedHashMap

  • 如果要進(jìn)行排序:TreeMap

可變參數(shù)

如果調(diào)用函數(shù)時(shí)想傳入任意個(gè)參數(shù),可這樣寫:

可變參數(shù)的小細(xì)節(jié):

  1. 在方法的形參中最多只能寫一個(gè)可變參數(shù)

  1. 在方法當(dāng)中,如果除了可變參數(shù)以外還有其他的形參,那么可變參數(shù)要寫在最后

Collections

  • java.util.Collections:集合工具類

  • 作用:Collections不是集合,而是集合工具類

常用方法名稱 說明 public static ?boolean addAll(Collection c, T... elements) 批量添加元素 public staticvoid shuffle(List<> list) 打亂List集合元素的順序


Java雙列集合的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
达尔| 佳木斯市| 天柱县| 固安县| 汉阴县| 江门市| 通山县| 保靖县| 化州市| 新化县| 云梦县| 上饶县| 金门县| 扬州市| 乌兰察布市| 洪雅县| 当阳市| 长汀县| 文水县| 阿克苏市| 江川县| 井研县| 德州市| 新巴尔虎右旗| 老河口市| 金门县| 修文县| 滁州市| 宁晋县| 武宣县| 尼玛县| 张北县| 高淳县| 清苑县| 怀来县| 巴林左旗| 昭通市| 安达市| 邻水| 东兰县| 旬邑县|