現實生活中,我們常會看到這樣一種集合,IP
地址與主機 名,身份證號與個人,系統用戶名與系統對象等等,這種一一對應的關系,就叫做映射。java
提供了專門的集合用來存放這種對象的關系,即java.util.Map
接口。
我們通過查看Map
接口描述,發現Map
接口下的集合與Collection
接口下的集合,他們存儲數據的形式不同,如下圖所示:
🧨🧨🧨🧨🧨🧨總結
Collection
中的集合,元素是孤立存在的(理解為單身),向集合中存儲元素采用一個個元素的存儲方式。Map
中的集合,元素是成對存在的(理解為夫妻關系),每個元素由鍵與值兩部分構成,通過鍵可以找到對應元素的值。Collection
中的集合稱為單列集合,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集合一創建,那么就會在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);}}
}
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态