寫作基礎理論概述,【零基礎學Java】—Map集合概述(四十三)

 2023-10-15 阅读 22 评论 0

摘要:一、Map集合概述 現實生活中,我們常會看到這樣一種集合,IP地址與主機 名,身份證號與個人,系統用戶名與系統對象等等,這種一一對應的關系,就叫做映射。java提供了專門的集合用來存放這種對象的關系,即java.util.Map接口。 我

一、Map集合概述

現實生活中,我們常會看到這樣一種集合,IP地址與主機 名,身份證號與個人,系統用戶名與系統對象等等,這種一一對應的關系,就叫做映射。java提供了專門的集合用來存放這種對象的關系,即java.util.Map接口。

我們通過查看Map接口描述,發現Map接口下的集合與Collection接口下的集合,他們存儲數據的形式不同,如下圖所示:
在這里插入圖片描述
🧨🧨🧨🧨🧨🧨總結

  • Collection中的集合,元素是孤立存在的(理解為單身),向集合中存儲元素采用一個個元素的存儲方式。
  • Map中的集合,元素是成對存在的(理解為夫妻關系),每個元素由鍵與值兩部分構成,通過鍵可以找到對應元素的值。
  • Collection中的集合稱為單列集合,Map中的集合稱為雙列集合。
  • 需要注意的是,Map中的集合不能包含重復的鍵,值可以重復,每個鍵只能對應一個值。

二、Map常用子類

java.util.Map<k,v>集合 implements Map<k,v>接口

🧨🧨🧨🧨🧨HashMap集合的特點:

  • HashMap集合底層是哈希表,查詢的速度特別的快
  • JDK1.8之前:數組+單向鏈表
  • JDK1.8之后:數組+單向鏈表/紅黑樹(鏈表的長度超過8):提高查詢的速度
  • hashMap集合是一個無序的集合,存儲元素和取出元素的順序有可能不一致
  • java.util.linkedHashMap<k,v>集合 extends HashMap<k,v> 集合

寫作基礎理論概述、🧨🧨🧨🧨🧨linkedHashMap的特點:

  • linkedHashMap集合的底層是哈希表+鏈表
  • linkedHashMap集合是一個有序的集合,存儲元素的取出元素的順序都是一致的

三、Map接口中常用的方法

在這里插入圖片描述
在這里插入圖片描述

四、Entry鍵值對對象

作用:當Map集合一創建,那么就會在Map集合中創建一個Entry對象,用來記錄鍵與值(鍵值對對象。鍵與值的映射關系)
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述
Map集合遍歷的第二種方式:使用Entry對象遍歷

基礎基層、Map集合中的方法:

  • Set<Map,Entry<K,V>> entrySet() 返回此映射中包含的映射關系的Set視圖

實現步驟:

  • 使用Map集合中的方法 entrySet(),把Map集和中的多個Entry對象取出來,存儲到Set集合中
  • 遍歷Set集合,獲取每一個Entry對象
  • 使用Entry對象中的方法getKey()getValue()獲取鍵與值
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;/*** @author :CaiCai* @date : 2022/4/14 14:56*//*
Map集合遍歷的第二種方式:使用Entry對象遍歷Map集合中的方法:
Set<Map,Entry<K,V>> entrySet()   返回此映射中包含的映射關系的Set視圖實現步驟:
使用Map集合中的方法 entrySet(),把Map集和中的多個Entry對象取出來,存儲到Set集合中
遍歷Set集合,獲取每一個Entry對象
使用Entry對象中的方法getKey()和getValue()獲取鍵與值*/
public class demoMap {public static void main(String[] args) {//創建Map集合對象Map<String,Integer> map=new HashMap<>();map.put("趙麗穎",168);map.put("張三",179);map.put("李四",170);//使用Map集合中的方法 entrySet(),把Map集和中的多個Entry對象取出來,存儲到Set集合中Set<Map.Entry<String,Integer>> set=map.entrySet();//使用迭代器遍歷Set集合Iterator<Map.Entry<String,Integer>> it= set.iterator();while(it.hasNext()){Map.Entry<String,Integer> entry=it.next();//使用entry對象中的方法getkey()和getValue()獲取鍵值String key=entry.getKey();Integer value=entry.getValue();System.out.println(key+"-"+value);}}
}

在這里插入圖片描述

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/140540.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息