day57 集合 List Set Map

List實現類

List接口特點:元素有序 可重復

Arraylist 可變數組

? ? ? ? jdk 8 以前Arraylist容量初始值10

? ? ? ? ?jdk8 之后初始值為0,添加數據時,容量為10;

? ? ? ? ArrayList與Vector的區別?

????????

LinkList:雙向鏈表

? ? ? ? ? ? ? ? 優點:不連續存儲,隨機添加和刪除操作方法

? ? ? ? ? ? ? ? 缺點:不連續存儲,遍歷速度慢

? ? ? ? 有鏈表頭和鏈表尾

? ? ? ? 新增針對鏈表頭和鏈表尾的操作方法

????????????????

Set集合及實現類

Set接口 extends Collection 特點:無序 唯一

HashSet

TreeSet

Map集合及實現類

Map集合? ?以key-value存儲數據

? ? ? ? key:無序唯一

? ? ? ? value:無序可重復

? ? ? ? key-value 映射關系唯一

? 1 添加方法
? ? ? ? ? ? ? ? ? ? V put(K key, V value) ? 將指定的值與此映射中的指定鍵關聯(可選操作)。
? ? ? ? ? ? 2 刪除
? ? ? ? ? ? ? ? ? ? ? void clear() ? ?從此映射中移除所有映射關系(可選操作)。
? ? ? ? ? ? ? ? ? ? ? ?V remove(Object key) ?如果存在一個鍵的映射關系,則將其從此映射中移除(可選操作)。
? ? ? ? ? ? ? ? ? ? ? ?boolean ?remove(Object key, Object value) : 僅當指定的密鑰當前映射到指定的值時刪除該條目。
? ? ? ? ? ?3 改
? ? ? ? ? ? ? ? ? ? ? ? V put(K key, V value) ? 將指定的值與此映射中的指定鍵關聯(可選操作)。
? ? ? ? ? ? ? ? ? ? ? ? V replace(K key, V value) ?只有當目標映射到某個值時,才能替換指定鍵的條目。
? ? ? ? ? ? ? ? ? ? ? ?boolean replace(K key, V oldValue, V newValue) ?僅當當前映射到指定的值時,才能替換指定鍵的條目。
? ? ? ? ? ? 4 查:
? ? ? ? ? ? ? ? ? ? boolean containsKey(Object key) ?如果此映射包含指定鍵的映射關系,則返回 true。
? ? ? ? ? ? ? ? ? ? ?boolean containsValue(Object value) ?如果此映射將一個或多個鍵映射到指定值,則返回 true。
? ? ? ? ? ? ? ? ? ? ?V get(Object key) ? 返回指定鍵所映射的值;如果此映射不包含該鍵的映射關系,則返回 null。
? ? ? ? ? ? ? ? ? ? ?V getOrDefault(Object key, V defaultValue) : ? ? 返回到指定鍵所映射的值,或 defaultValue如果此映射包含該鍵的映射。
? ? ? ? ? ? 5 遍歷方法
? ? ? ? ? ? ? ? ? ? ?Set<Map.Entry<K,V>> entrySet() ? 返回此映射中包含的映射關系的 Set 視圖。
? ? ? ? ? ? ? ? ? ? Set<K> keySet() : ?返回此映射中包含的鍵的 Set 視圖。
? ? ? ? ? ? ? ? ? ? ? Collection<V> values() 回此映射中包含的值的 Collection 視圖。
? ? ? ? ? ? ? ? ? ? ? forEach()
? ? ? ? ? ? ?6 其他方法
? ? ? ? ? ? ? ? ?boolean isEmpty() : 如果此映射未包含鍵-值映射關系,則返回 true。
? ? ? ? ? ? ? ? ? int size() ? 返回此映射中的鍵-值映射關系數。

HashMap

????????? ? ? ? ? ? ? ? ?HashMap的初始容量16 加載因子0.75擴容為2為2倍

?????????????????????????????????????? Hashtable初始容量11 加載因子0.75

擴容為2倍+1

? ? ? ? ? ? ? ? ? ? ? ? HashMap key,value可以為null

? ? ? ? ? ? ? ? ? ? ? ? HashTable key,value都不可以為null? ? ? ???????????????????????? ? ? ? ?

HashMap中的key如何去除重復項?

? ? ? ? ? ? ? ? 調用key的hashCode與equals方法

? ?TreeMap:二叉樹

? ? ? ? ? ? ? ? 左小,右大的方式存儲

? ? ? ? ? ? ? ? 讀取:按中序(左-中-右)

? ? ? ? ? ? ? ? key:通過比較規則,排序并去除重復

? ? ? ? ? ? ? ? 注意:key 必須為同一種數據類型的值。不能出現null值

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/710757.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/710757.shtml
英文地址,請注明出處:http://en.pswp.cn/news/710757.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

智慧工地物聯網云平臺APP源碼:監管端、工地端、危大工程、智慧大屏

目錄 技術說明 智慧工地 服務對象&#xff1a;項目現場 企業項目管理 服務對象&#xff1a;建設領域企業 政府工地監管 服務對象&#xff1a;全國各省建設領域政府機構 勞務實名制管理解決方案 綠色施工解決方案 視頻監控解決方案 塔機安全監控解決方案 施工升降機安…

Windows安裝Docker 容器教程(轉載)

Windows安裝Docker 容器教程 Docker Desktop - WSL distro terminated abruptlyA WSL distro Docker Desktop relies on has exited une Docker Desktop - Unexpected WSL error

【tableau學習筆記】tableau無法連接數據源

【tableau學習筆記】tableau無法連接數據源 背景&#xff1a; 學校講到Tableau&#xff0c;興奮下載Kaggle Excel&#xff0c;一看后綴CSV&#xff0c;導入Tableau發現報錯“tableau無法連接數據源”&#xff0c;自作聰明改為后綴XLSX&#xff0c;bug依舊。 省流&#xff1a…

【DIY】TA7376組成的耳機放大電路

用頭戴式耳機&#xff0c;尤其是小型耳機聽音樂&#xff0c;總感到音樂味不夠足&#xff0c;在低頻段的效果更差。因此用本機增強耳機的低頻特性&#xff0c;并采用立體聲反相合成的辦法&#xff0c;加上內藏簡易矩陣環繞聲電路&#xff0c;能獲得強勁的低音和在較寬的范圍內展…

構建一個基于Node.js的文件存儲服務

隨著現代web應用程序變得越來越復雜和功能強大&#xff0c;文件存儲服務成為了許多應用的重要組成部分。在本篇博客中&#xff0c;我們將探討如何構建一個基于Node.js的文件存儲服務&#xff0c;讓您可以輕松地上傳、下載和管理文件。我們將利用Node.js的強大功能和模塊來構建這…

美觀的404錯誤頁面源碼

超級簡單又美觀的404模板&#xff0c;css文件全部集成在index.html&#xff0c;源碼由HTMLCSSJS組成&#xff0c;記事本打開源碼文件可以進行內容文字之類的修改&#xff0c;雙擊html文件可以本地運行效果&#xff0c;也可以上傳到服務器里面&#xff0c;重定向這個界面 下載地…

蒼穹外賣知識點總結(一)

簡介 技術選型 展示項目中使用到的技術框架和中間件。 用戶層&#xff1a;node.js Vue.js ElementUI 微信小程序 apache echarts 網關層&#xff1a;nginx 應用層&#xff1a;Spring Boot Spring MVC Spring Task httpclie…

對齊了之后才舒服,matplotlib文字和字體設置

文章目錄 text方法字體局部字體 matplotlib教程&#xff1a; 初步&#x1f4c8; 子圖繪制&#x1f4c8; 坐標投影&#x1f4c8; 刻度設置&#x1f4c8; 共享坐標軸&#x1f4c8; 內容填充 text方法 【plt】提供了文字顯示函數text&#xff0c;包含三個必不可少的參數&am…

全量知識系統問題及SmartChat給出的答復 之7 三套工具之2

Q17. 三套工具的功能 問&#xff1a;以上代碼中并沒有體現出三套工具的功能性。 前端&#xff1a; 自動化或規則化 應用評測工具-“MOCK” &#xff08;會有三種不同的自動化程度&#xff1a;全自動化&#xff0c;半自動化和全人工&#xff09;&#xff0c;中間 &#xff1a; …

【QT+QGIS跨平臺編譯】之五十八:【QGIS_CORE跨平臺編譯】—【qgsexpression_texts.cpp生成】

文章目錄 一、Python二、生成來源三、構建過程3.1 構建qgsexpression_texts.cpp.temp3.2 構建qgsexpression_texts.cpp一、Python python.exe 是 Python 解釋器的可執行文件,用于在命令行中運行 Python 腳本。它是 Python 編程語言的解釋器程序,負責解析和執行 Python 代碼。…

第十四屆校模擬賽第一期(一)

“須知少時凌云志&#xff0c;自許人間第一流” 鄙人11月八號有幸參加學校校選拔賽&#xff0c;題型為5道填空題&#xff0c;5道編程題&#xff0c;總時間為4小時。奈何能力有限&#xff0c;只完成了5道填空和3道編程大題&#xff0c;現進行自省自糾&#xff0c;分享學習&#…

改進YOLO系列 | YOLOv5/v7 引入通用高效層聚合網絡 GELAN | YOLOv9 新模塊

今天的深度學習方法專注于如何設計最合適的目標函數,以使模型的預測結果最接近真實情況。同時,必須設計一個合適的架構,以便為預測提供足夠的信息。現有方法忽視了一個事實,即當輸入數據經過逐層特征提取和空間轉換時,會丟失大量信息。本文將深入探討數據通過深度網絡傳輸…

[AutoSar]BSW_Com06 CAN報文應用層到Can總線的函數調用

目錄 關鍵詞平臺說明一、背景二、PDU轉換三、函數調用 關鍵詞 嵌入式、C語言、autosar、OS、BSW 平臺說明 項目ValueOSautosar OSautosar廠商vector &#xff0c;芯片廠商TI 英飛凌編程語言C&#xff0c;C編譯器HighTec (GCC)autosar版本4.3.X >>>>>回到總目…

流水賬-20240229

目錄 git本地回滾到到120bc409ee3b8f63a23d0060e55118bcce557acf提交記錄本地提交到已有代碼分支 IDEA批量導入快捷鍵無效更換背景主題快捷鍵快捷鍵可以設置eclipse模式&#xff0c;但是有些不生效&#xff0c;可能是沖突了Ctrl單擊&#xff0c;Eclipse里面是可以跳轉到代碼內部…

AI:139-基于深度學習的語音指令識別與執行

??點擊這里跳轉到本專欄,可查閱專欄頂置最新的指南寶典~ ?????? 你的技術旅程將在這里啟航! 從基礎到實踐,深入學習。無論你是初學者還是經驗豐富的老手,對于本專欄案例和項目實踐都有參考學習意義。 ??? 每一個案例都附帶關鍵代碼,詳細講解供大家學習,希望…

js實現文件下載,并傳給后端

在JavaScript中&#xff0c;可以通過創建一個鏈接并設置其href屬性為文件的URL&#xff0c;然后使用download屬性指定文件的名稱來實現文件下載。以下是一個簡單的示例代碼&#xff1a; function downloadFile(url, filename) {const link document.createElement(a);link.hr…

Vue3自定義文件列表頁面(含上傳、搜索、復制鏈接)

文章目錄 一、代碼展示二、代碼解讀三、結果展示 一、代碼展示 <template><div class"container"><h1>文件列表</h1><div class"header-actions"><a-input placeholder"輸入關鍵詞搜索" v-model:value"…

字符串函數strchr()詳解

一、strchr()函數的作用 字符串函數 strchr() 是 C 語言的一個標準庫函數&#xff0c;它的作用是在一個字符串中查找給定字符的第一個匹配之處&#xff0c;并返回指向該字符的指針。如果沒有找到該字符&#xff0c;則返回 NULL。1 二、strchr()函數的原型和參數 strchr()函數…

【筆記】:更方便的將一個List中的數據傳入另一個List中,避免多重循環

這里是 simpleInfoList 集合&#xff0c;記為集合A&#xff08;傳值對象&#xff09; List<CourseSimpleInfoDTO> simpleInfoList courseClient.getSimpleInfoList(courseIds);if(simpleInfoListnull){throw new BizIllegalException("當前課程不存在!");}這…

【Spring連載】使用Spring Data----對象映射基礎Object Mapping Fundamentals

【Spring連載】使用Spring Data----對象映射基礎Object Mapping Fundamentals 一、對象創建1.1 對象創建內部機制Object creation internals 二、屬性填充Property population2.1 屬性填充內部機制Property population internals 三、一般建議3.1 覆蓋屬性 四、Kotlin支持4.1 K…