最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java基礎(chǔ)Map集合詳析

 更新時(shí)間:2022年04月01日 14:08:34   作者:再美不及姑娘你  
這篇文章主要介紹了Java基礎(chǔ)Map集合詳析,主要通過介紹Map集合的常用方法、Map的獲取方法的一些相關(guān)資料展開內(nèi)容,需要的小伙伴可以參考一下

一、概述

  • Interface Map k:鍵的類型;V:值的類型

  • 將鍵映射到值的對(duì)象;不能包含重復(fù)的鍵;每個(gè)鍵可以映射到最多一個(gè)值

二、創(chuàng)建Map集合的對(duì)象方式

  • 1.使用多態(tài)的方式
  • 2.具體實(shí)現(xiàn)類HashMap
public static void main(String[] args) {
 ? ? ?  //創(chuàng)建Map集合對(duì)象
 ? ? ?  Map<String,String> m=new HashMap<String,String>();
 ? ? ?  //添加元素使用put方法,默認(rèn)自然排序
 ? ? ?  m.put("02","李四");
 ? ? ?  m.put("04","趙六");
 ? ? ?  m.put("01","張三");
 ? ? ?  m.put("03","王五");
 ? ? ?  System.out.println(m);
 ?  }
}

三、Map集合的常用方法

方法名說明
V put(K key,V value)添加元素,添加重復(fù)鍵值元素會(huì)覆蓋
V remove(Object key)根據(jù)鍵刪除鍵值對(duì)元素
void clear()清除所有的鍵值對(duì)元素
Boolean containsKey(Object key)判斷集合是否包含指定的鍵,包含返回true
Boolean containsValue(Object value)判斷集合是否包含指定的值,包含返回true
Boolean isEmpty()判斷集合是否為空
int size()獲取集合的長度,也就是鍵值對(duì)的個(gè)數(shù)
public class MapDemo01 {
 ?  public static void main(String[] args) {
 ? ? ?  //創(chuàng)建Map集合對(duì)象
 ? ? ?  Map<String,String> m=new HashMap<String,String>();
 ? ? ?  //添加元素,put方法
 ? ? ?  m.put("1","張三");
 ? ? ?  m.put("2","李四");
 ? ? ?  m.put("3","王五");
 ? ? ?  m.put("4","趙六");
 ? ? ?  // System.out.println(m);
 ? ? ?  //根據(jù)鍵刪除鍵值對(duì)元素
 ? ? ?  System.out.println(m.remove("3"));//切記鍵是什么類型就寫什么類型,不然會(huì)返回null
 ? ? ?  System.out.println(m);
 ? ? ?  //清除所有鍵值對(duì)元素
 ? ? ?  m.clear();
 ? ? ?  //Boolean isEmpty()判斷集合是否為空
 ? ? ?  System.out.println(m.isEmpty());
 ? ? ? // System.out.println(m);
 ? ? ?  //Boolean containsKey(Object key);判斷集合中是否包含指定的鍵
 ? ? ?  System.out.println(m.containsKey("5"));//切記鍵是什么類型就寫什么類型,不然會(huì)返回null
 ? ? ?  //Boolean containsValue(Object value)判斷集合是否包含指定的值,包含返回true
 ? ? ?  System.out.println(m.containsValue("張三"));
 ? ? ?  //int size()獲取集合的長度,也就是鍵值對(duì)的個(gè)數(shù)
 ? ? ?  System.out.println(m.size());
 ?  }
}
?

四、Map的獲取方法

方法名說明
V get(Object key)根據(jù)鍵獲取值
Set<K>keySet()獲取所有鍵的集合
Collection<V>values()獲取所有值的集合
Set<Map.Entry<K,V>>entrySet()獲取所有鍵值對(duì)對(duì)象的集合
public class MapDemo02 {
 ?  public static void main(String[] args) {
 ? ? ?  //創(chuàng)建Map對(duì)象
 ? ? ?  Map<String,String> m=new HashMap<String,String>();
 ? ? ?  //添加元素
 ? ? ?  m.put("1","張三");
 ? ? ?  m.put("3","李四");
 ? ? ?  m.put("4","王五");
 ? ? ?  m.put("2","趙六");
// ? ? ?  System.out.println(m);
 ? ? ?  //V get(Object key)根據(jù)鍵獲取值
 ? ? ?  System.out.println(m.get("3"));//要注意鍵的類型,類型不對(duì)會(huì)報(bào)null
 ? ? ?  //Set<K>keySet()獲取所有鍵的集合,因?yàn)榉祷氐氖莻€(gè)集合,所以用增強(qiáng)for遍歷
 ? ? ?  Set<String> k=m.keySet();
 ? ? ?  for (String key:k){
 ? ? ? ? ?  System.out.println(key);
 ? ? ?  }
 ? ? ?  //Collection<V>values()獲取所有值的集合,注意,他會(huì)按照鍵的排序?qū)χ颠M(jìn)行排序
 ? ? ?  Collection<String> c=m.values();
 ? ? ?  for (String v:c){
 ? ? ? ? ?  System.out.println(v);
 ? ? ?  }
?
 ?  }
}

五、Map集合的遍歷方式

方式一:

  • 1.先獲取Map集合中的所有鍵的集合,使用方法setKey()
  • 2.遍歷所有鍵的集合獲取每一個(gè)鍵
  • 3.通過每一個(gè)鍵獲取相對(duì)應(yīng)的值 getValues方法
public static void main(String[] args) {
 ? ? ?  //方式一
 ? ? ?  //創(chuàng)建Map集合對(duì)象
 ? ? ?  Map<String,String> m=new HashMap<String,String>();
 ? ? ?  //添加鍵值對(duì)
 ? ? ?  m.put("1","張三");
 ? ? ?  m.put("3","李四");
 ? ? ?  m.put("4","王五");
 ? ? ?  m.put("2","趙六");
 ? ? ?  //獲取所有鍵的集合
 ? ? ?  Set<String>s=m.keySet();
 ? ? ?  //遍歷
 ? ? ?  for (String key:s){
 ? ? ? ? ?  //再通過鍵獲取相對(duì)應(yīng)的值
 ? ? ? ? ?  String value=m.get(key);
 ? ? ? ? ?  System.out.println(key+","+value);
 ? ? ?  }
 ?  }
}

方式二:

  • 1.獲取所有鍵值對(duì)的集合,使用Set<Map.Entry<K,V>>entrySet()方法
  • 2.遍歷這個(gè)集合獲得每一個(gè)鍵值對(duì) 對(duì)象也就是Map.Entry對(duì)象
  • 3.再根據(jù)鍵值對(duì)對(duì)象獲取值和鍵

getKey()獲取鍵

getValue()獲取值

public static void main(String[] args) {
// ? ? ?  //方式一
// ? ? ?  //創(chuàng)建Map集合對(duì)象
// ? ? ?  Map<String,String> m=new HashMap<String,String>();
// ? ? ?  //添加鍵值對(duì)
// ? ? ?  m.put("1","張三");
// ? ? ?  m.put("3","李四");
// ? ? ?  m.put("4","王五");
// ? ? ?  m.put("2","趙六");
// ? ? ?  //獲取所有鍵的集合
// ? ? ?  Set<String>s=m.keySet();
// ? ? ?  //遍歷
// ? ? ?  for (String key:s){
// ? ? ? ? ?  //再通過鍵獲取相對(duì)應(yīng)的值
// ? ? ? ? ?  String value=m.get(key);
// ? ? ? ? ?  System.out.println(key+","+value);
// ? ? ?  }
 ? ? ?  //方式二
 ? ? ?  //創(chuàng)建Map集合對(duì)象
 ? ? ?  Map<String,String> m=new HashMap<String,String>();
 ? ? ?  //添加鍵值對(duì)
 ? ? ?  m.put("1","張三");
 ? ? ?  m.put("3","李四");
 ? ? ?  m.put("4","王五");
 ? ? ?  m.put("2","趙六");
 ? ? ?  //獲取所有鍵值對(duì)的集合Set<Map.Entry<K,V>>entrySet()
 ? ? ?  Set<Map.Entry<String,String>> s= m.entrySet();
 ? ? ?  //遍歷該集合
 ? ? ?  for (Map.Entry<String,String> ss:s){
 ? ? ? ? ?  //通過鍵值對(duì)對(duì)象獲取鍵值
 ? ? ? ? ?  String key=ss.getKey();
 ? ? ? ? ?  //通過鍵值對(duì)對(duì)象獲取值
 ? ? ? ? ?  String value=ss.getValue();
 ? ? ? ? ?  System.out.println(key+","+value);
?
 ? ? ?  }
 ?  }
}

 到此這篇關(guān)于Java基礎(chǔ)Map集合詳析的文章就介紹到這了,更多相關(guān)Java Map集合內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java顯示當(dāng)前運(yùn)行時(shí)的參數(shù)(java運(yùn)行參數(shù))

    java顯示當(dāng)前運(yùn)行時(shí)的參數(shù)(java運(yùn)行參數(shù))

    這篇文章主要介紹了java顯示當(dāng)前運(yùn)行時(shí)參數(shù)的示例(java運(yùn)行參數(shù)),需要的朋友可以參考下
    2014-04-04
  • 關(guān)于MyBatis各種SQL操作詳解

    關(guān)于MyBatis各種SQL操作詳解

    這篇文章主要介紹了關(guān)于MyBatis各種SQL操作詳解,MyBatis 是一款優(yōu)秀的半自動(dòng)的ORM持久層框架,它支持自定義 SQL、存儲(chǔ)過程以及高級(jí)映射,需要的朋友可以參考下
    2023-05-05
  • springboot文件打包成jar或war的方法

    springboot文件打包成jar或war的方法

    這篇文章主要介紹了springboot文件打包成jar或war的方法以及相關(guān)知識(shí)點(diǎn),需要的朋友們參考下。
    2019-08-08
  • springboot多文件或者文件夾壓縮成zip的方法

    springboot多文件或者文件夾壓縮成zip的方法

    最近碰到個(gè)需要下載zip壓縮包的需求,于是我在網(wǎng)上找了下別人寫好的zip工具類,下面通過本文給大家分享springboot多文件或者文件夾壓縮成zip的方法,感興趣的朋友一起看看吧
    2024-07-07
  • SpringCloud學(xué)習(xí)筆記之SpringCloud搭建父工程的過程圖解

    SpringCloud學(xué)習(xí)筆記之SpringCloud搭建父工程的過程圖解

    SpringCloud是分布式微服務(wù)架構(gòu)的一站式解決方案,十多種微服務(wù)架構(gòu)落地技術(shù)的集合體,俗稱微服務(wù)全家桶,這篇文章主要介紹了SpringCloud學(xué)習(xí)筆記(一)搭建父工程,需要的朋友可以參考下
    2021-10-10
  • 關(guān)于Java中靜態(tài)代碼塊的執(zhí)行淺析

    關(guān)于Java中靜態(tài)代碼塊的執(zhí)行淺析

    這篇文章主要給大家介紹了關(guān)于Java中靜態(tài)代碼塊執(zhí)行的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過程

    Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過程

    Ecppse 使用了 ESP-IDF 中的 Makefile 支持。這意味著您需要從創(chuàng)建 ESP-IDF 項(xiàng)目開始。您可以使用 github 中的 idf-template 項(xiàng)目,接下來通過本文給大家介紹Windows系統(tǒng)下Eclipse搭建ESP32編譯環(huán)境及安裝過程,感興趣的朋友一起看看吧
    2021-10-10
  • SpringBoot資源文件的存放位置設(shè)置方式

    SpringBoot資源文件的存放位置設(shè)置方式

    這篇文章主要介紹了SpringBoot資源文件的存放位置設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 淺析如何使用Swagger生成帶權(quán)限控制的API文檔

    淺析如何使用Swagger生成帶權(quán)限控制的API文檔

    當(dāng)涉及到權(quán)限控制時(shí),如何生成既安全又詳細(xì)的?API?文檔就成了一個(gè)關(guān)鍵問題,所以這篇文章小編就來和大家好好聊聊如何用?Swagger?來生成帶有權(quán)限控制的?API?文檔吧
    2025-02-02
  • JAVA設(shè)計(jì)模式之單例模式詳解

    JAVA設(shè)計(jì)模式之單例模式詳解

    大家好,本篇文章主要講的是JAVA設(shè)計(jì)模式之單例模式詳解,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01

最新評(píng)論

绵竹市| 临潭县| 松滋市| 商南县| 阿拉尔市| 临武县| 新昌县| 望都县| 金塔县| 福泉市| 崇仁县| 奉新县| 普兰店市| 金平| 威信县| 临邑县| 博乐市| 林西县| 岳池县| 五台县| 长寿区| 三门县| 贵阳市| 保德县| 那坡县| 云和县| 汾阳市| 禹城市| 冕宁县| 枣强县| 邵武市| 化州市| 客服| 白城市| 德庆县| 吴堡县| 绍兴县| 濮阳县| 万源市| 万盛区| 巴塘县|