Java 遍歷取出Map集合key-value數(shù)據(jù)的4種方法
將map集合存數(shù)據(jù)與取出數(shù)據(jù)全部放在一個(gè)類(lèi)MapTest中,方便閱讀與查看
隨便創(chuàng)建一個(gè)包,在包中新建一個(gè)class文件,(也可以不建包,直接新建一個(gè)class文件)
新建class文件MapTest.java,代碼如下:
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class MapTest { public static void main(String[] args) { Map<Integer, String> map = new HashMap<>(); //map集合存入數(shù)據(jù) map.put(1, "第一個(gè)value"); map.put(2, "第二個(gè)value"); map.put(3, "第三個(gè)value"); //通過(guò)keySet取出map數(shù)據(jù)[for-each循環(huán)] System.out.println("-------[for-each循環(huán)遍歷]通過(guò)keySet取出map數(shù)據(jù)-------"); Set<Integer> keys = map.keySet(); //此行可省略,直接將map.keySet()寫(xiě)在for-each循環(huán)的條件中 for(Integer key:keys){ System.out.println("key值:"+key+" value值:"+map.get(key)); } //通過(guò)EntrySet取出map數(shù)據(jù)[for-each循環(huán)] System.out.println("-------[for-each循環(huán)遍歷]通過(guò)EntrySet取出map數(shù)據(jù)-------"); Set<Entry<Integer, String>> entrys = map.entrySet(); //此行可省略,直接將map.entrySet()寫(xiě)在for-each循環(huán)的條件中 for(Entry<Integer, String> entry:entrys){ System.out.println("key值:"+entry.getKey()+" value值:"+entry.getValue()); } //通過(guò)keySet取出map數(shù)據(jù)[Iterator遍歷] System.out.println("-------[Iterator循環(huán)遍歷]通過(guò)keySet取出map數(shù)據(jù)---------"); Iterator<Integer> it = map.keySet().iterator(); //map.keySet()得到的是set集合,可以使用迭代器遍歷 while(it.hasNext()){ Integer key = it.next(); System.out.println("key值:"+key+" value值:"+map.get(key)); } //通過(guò)EntrySet取出map數(shù)據(jù)[Iterator遍歷] System.out.println("-------[Iterator循環(huán)遍歷]通過(guò)EntrySet取出map數(shù)據(jù)---------"); Iterator<Entry<Integer, String>> iterator = map.entrySet().iterator(); //map.entrySet()得到的是set集合,可以使用迭代器遍歷 while(iterator.hasNext()){ Entry<Integer, String> entry = iterator.next(); System.out.println("key值:"+entry.getKey()+" value值:"+entry.getValue()); } } }
控制臺(tái)效果:
知識(shí)補(bǔ)充:
- list和set集合都實(shí)現(xiàn)了Iterable接口,所以他們的實(shí)現(xiàn)類(lèi)可以使用迭代器遍歷,map集合未實(shí)現(xiàn)該接口,若要使用迭代器循環(huán)遍歷,需要借助set集合
- 推薦使用 EntrySet 遍歷,效率更高。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)短信驗(yàn)證碼詳細(xì)過(guò)程
這篇文章主要給大家介紹了關(guān)于Java實(shí)現(xiàn)短信驗(yàn)證碼的相關(guān)資料, 在業(yè)務(wù)需求中我們經(jīng)常會(huì)用到短信驗(yàn)證碼,比如手機(jī)號(hào)登錄、綁定手機(jī)號(hào)、忘記密碼、敏感操作等,需要的朋友可以參考下2023-09-09SpringBoot+Vue項(xiàng)目新手快速入門(mén)指南
最近剛剛做了一個(gè)基于vue+springboot的系統(tǒng),于是基于這點(diǎn),對(duì)遇到的一些問(wèn)題進(jìn)行一些配置的匯總,下面這篇文章主要給大家介紹了關(guān)于SpringBoot+Vue項(xiàng)目新手快速入門(mén)的相關(guān)資料,需要的朋友可以參考下2022-06-06SpringBoot高版本修改為低版本時(shí)測(cè)試類(lèi)報(bào)錯(cuò)的解決方案
這篇文章主要介紹了SpringBoot高版本修改為低版本時(shí)測(cè)試類(lèi)報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Java數(shù)據(jù)結(jié)構(gòu)之并查集的實(shí)現(xiàn)
并查集是一種用來(lái)管理元素分組情況的數(shù)據(jù)結(jié)構(gòu)。并查集可以高效地進(jìn)行如下操作。本文將通過(guò)Java實(shí)現(xiàn)并查集,感興趣的小伙伴可以了解一下2022-01-0110個(gè)SpringBoot參數(shù)驗(yàn)證你需要知道的技巧分享
參數(shù)驗(yàn)證很重要,是平時(shí)開(kāi)發(fā)環(huán)節(jié)中不可少的一部分,那么在Spring?Boot應(yīng)用中如何做好參數(shù)校驗(yàn)工作呢,本文提供了10個(gè)小技巧,你知道幾個(gè)呢2023-03-03