筆記是看黑馬視頻一邊做的,主要是用於自己複習用。
https://blog.csdn.net/HDZ1821/article/details/104577474 詳細請了解這篇文章。
目錄
Map集合
空指針可以賦值給Integer類,但是不能賦值給int,會報錯,NullPointerException
Map集合概述:
類HashMap概述:
基於【哈希表】(數組+鏈表/紅黑樹) 無序
此類不保證映射順序,也不保證順序恆久不變。
此實現不是同步的——多線程——速度快。
它下面也有一個
類 LinkedHashMap 概述:
基於【哈希表】(數組+鏈表/紅黑樹)和鏈接列表實現, 有序。
Map接口中的常用方法:
詳解:
1.put
2.remove
3.get
4.containsKey
例子:
1.put
2.remove
空指針可以賦值給Integer類,但是不能賦值給int,會報錯,NullPointerException
3.get
4.containsKey
Map集合遍歷鍵找值方式:第一種。
圖解:
代碼:
第二種Entry鍵值對 對象
圖解:
代碼:
使用HashMap存儲自定義類型鍵值:
概述:
因爲只有重寫之後了,才能保證key值唯一
例子:
如果value重複,那麼就會用新的value值去替換舊的value值了。
要進入Person類之後重寫方法了,才能保證下面的是對的。
LinkedHashMap集合:
概述:
例子:
上面的是不可預知,下面的可預知:
HashTable集合
概述:
它是Map接口的另外一個實現類:HashTable集合
1. 它也是一個雙列集合,底層也是一個哈希表。
2. 之前學習到的所有的集合都能存儲空這種元素。
而這個HashTable元素不允許存儲空,也就是它的鍵和值都不能爲空。
3. 它是一個最早期的雙列集合,在jdk1.0版本就出現了。
4.它是同步的——單線程的——安全——慢