您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java中Map集合體系的基本使用和常用API是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java中Map集合體系的基本使用和常用API是什么”吧!
Map集合是一種雙列集合,每個元素包含兩個數據。
Map集合的每個元素的格式:key=value(鍵值對元素)。
Map集合也被稱為“鍵值對集合”。
Map集合整體格式:
Collection集合的格式:
[元素1,元素2,元素3..]
Map集合的完整格式:
{key1=value1 , key2=value2 , key3=value3 , ...}
Map集合的使用場景之一:購物車系統
分析:
購物車提供的四個商品和購買的數量在后臺需要容器存儲。
每個商品對象都一一對應一個購買數量。
把商品對象看成是Map集合的建,購買數量看成Map集合的值。
例如:
{商品1=2 , 商品2=3 , 商品3 = 2 , 商品4= 3}
Map集合中使用最多的Map集合是HashMap。
重點掌握HashMap , LinkedHashMap , TreeMap。其他的后續理解。
Map集合體系特點:
Map集合的特點都是由鍵決定的。
Map集合的鍵是無序,不重復的,無索引的,值不做要求(可以重復)。
Map集合后面重復的鍵對應的值會覆蓋前面重復鍵的值。
Map集合的鍵值對都可以為null。
Map集合實現類特點:
HashMap:元素按照鍵是無序,不重復,無索引,值不做要求。(與Map體系一致)
public static void main(String[] args) { // 創建一個HashMap對象 Map<String, Integer> maps = new HashMap<>(); // 向集合添加元素 maps.put("桌子", 2); maps.put("凳子", 10); maps.put("桌子", 10); // 鍵一樣會覆蓋前面的 maps.put(null, null); // 鍵值對可以為null // 輸出集合, 可以發現是無序的 System.out.println(maps); // {null=null, 凳子=10, 桌子=10}}LinkedHashMap:元素按照鍵是有序,不重復,無索引,值不做要求。
public static void main(String[] args) { // 創建一個LinkedHashMap對象 // Map<String, Integer> maps = new HashMap<>(); Map<String, Integer> maps = new LinkedHashMap<>(); // 向集合添加元素 maps.put("桌子", 2); maps.put("凳子", 10); maps.put("桌子", 10); // 鍵一樣會覆蓋前面的 maps.put(null, null); // 鍵值對可以為null // 輸出集合, 是有序的 System.out.println(maps); // {桌子=10, 凳子=10, null=null}}TreeMap:元素是按照鍵排序,不重復,無索引的,值不做要求。
public static void main(String[] args) { // 創建一個HashMap對象 // Map<String, Integer> maps = new HashMap<>(); // Map<String, Integer> maps = new LinkedHashMap<>(); Map<String, Integer> maps = new TreeMap<>(); // 向集合添加元素 maps.put("ddd", 2); maps.put("bbb", 10); maps.put("ddd", 3); maps.put("aaa", 5); maps.put("ccc", 1); // 輸出集合, 元素按照鍵進行排序 System.out.println(maps); // {aaa=5, bbb=10, ccc=1, ddd=3}}
Map是雙列集合的祖宗接口,它的功能是全部雙列集合都可以繼承使用的。
Map API如下:
方法名稱 | 說明 |
---|---|
put(K key,V value) | 添加元素 |
remove(Object key) | 根據鍵, 刪除鍵值對元素 |
clear() | 移除所有的鍵值對元素 |
containsKey(Object key) | 判斷集合是否包含指定的鍵 |
containsValue(Object value) | 判斷集合是否包含指定的值 |
isEmpty() | 判斷集合是否為空 |
size() | 集合的長度,也就是集合中鍵值對的個數 |
put方法添加元素
public static void main(String[] args) {
// 創建Map集合對象
Map<String, Integer> maps = new HashMap<>();
// 添加元素
maps.put("華為", 10);
maps.put("小米", 5);
maps.put("iPhone", 6);
maps.put("生活用品", 15);
System.out.println(maps); // {iPhone=6, 生活用品=15, 華為=10, 小米=5}}
remove方法, 根據鍵刪除元素
public static void main(String[] args) {
// 創建Map集合對象
Map<String, Integer> maps = new HashMap<>();
// 添加元素
maps.put("華為", 10);
maps.put("小米", 5);
maps.put("iPhone", 6);
maps.put("生活用品", 15);
// 刪除元素
maps.remove("小米");
System.out.println(maps); // {iPhone=6, 生活用品=15, 華為=10}}
clear方法, 清空集合元素
public static void main(String[] args) {
// 創建Map集合對象
Map<String, Integer> maps = new HashMap<>();
// 添加元素
maps.put("華為", 10);
maps.put("小米", 5);
maps.put("iPhone", 6);
maps.put("生活用品", 15);
// 清空元素
maps.clear();
System.out.println(maps); // {}}
containsKey()方法, 判斷是否包含指定鍵
public static void main(String[] args) {
// 創建Map集合對象
Map<String, Integer> maps = new HashMap<>();
// 添加元素
maps.put("華為", 10);
maps.put("小米", 5);
maps.put("iPhone", 6);
maps.put("生活用品", 15);
// 判斷是否包含指定鍵
System.out.println(maps.containsKey("華為")); // true
System.out.println(maps.containsKey("魅族")); // false}
containsValue方法, 判斷是否包含指定值
public static void main(String[] args) {
// 創建Map集合對象
Map<String, Integer> maps = new HashMap<>();
// 添加元素
maps.put("華為", 10);
maps.put("小米", 5);
maps.put("iPhone", 6);
maps.put("生活用品", 15);
// 判斷是否包含指定值
System.out.println(maps.containsValue(6)); // true
System.out.println(maps.containsValue(99)); // false}
isEmpty, 判斷集合是否為空
public static void main(String[] args) {
// 創建Map集合對象
Map<String, Integer> maps = new HashMap<>();
// 添加元素
maps.put("華為", 10);
maps.put("小米", 5);
maps.put("iPhone", 6);
maps.put("生活用品", 15);
// 判斷集合是否為空
System.out.println(maps.isEmpty()); // false}
size方法, 集合元素的個數
public static void main(String[] args) {
// 創建Map集合對象
Map<String, Integer> maps = new HashMap<>();
// 添加元素
maps.put("華為", 10);
maps.put("小米", 5);
maps.put("iPhone", 6);
maps.put("生活用品", 15);
// 返回集合元素的個數
System.out.println(maps.size()); // 4}
擴展方法: putAll合并其他集合, 合并遇到重復的key會進行合并
public static void main(String[] args) {
Map<String, Integer> map1 = new HashMap<>();
map1.put("java", 1);
map1.put("C語言", 2);
Map<String, Integer> map2 = new HashMap<>();
map2.put("python", 4);
map2.put("linux", 7);
// 合并兩個集合
map1.putAll(map2);
System.out.println(map1); // {{python=4, java=7, C語言=2}}
感謝各位的閱讀,以上就是“Java中Map集合體系的基本使用和常用API是什么”的內容了,經過本文的學習后,相信大家對Java中Map集合體系的基本使用和常用API是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。