Java 遍歷取出Map集合key-value數(shù)據(jù)的4種方法
將map集合存數(shù)據(jù)與取出數(shù)據(jù)全部放在一個(gè)類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");
//通過keySet取出map數(shù)據(jù)[for-each循環(huán)]
System.out.println("-------[for-each循環(huán)遍歷]通過keySet取出map數(shù)據(jù)-------");
Set<Integer> keys = map.keySet(); //此行可省略,直接將map.keySet()寫在for-each循環(huán)的條件中
for(Integer key:keys){
System.out.println("key值:"+key+" value值:"+map.get(key));
}
//通過EntrySet取出map數(shù)據(jù)[for-each循環(huán)]
System.out.println("-------[for-each循環(huán)遍歷]通過EntrySet取出map數(shù)據(jù)-------");
Set<Entry<Integer, String>> entrys = map.entrySet(); //此行可省略,直接將map.entrySet()寫在for-each循環(huán)的條件中
for(Entry<Integer, String> entry:entrys){
System.out.println("key值:"+entry.getKey()+" value值:"+entry.getValue());
}
//通過keySet取出map數(shù)據(jù)[Iterator遍歷]
System.out.println("-------[Iterator循環(huán)遍歷]通過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));
}
//通過EntrySet取出map數(shù)據(jù)[Iterator遍歷]
System.out.println("-------[Iterator循環(huán)遍歷]通過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)類可以使用迭代器遍歷,map集合未實(shí)現(xiàn)該接口,若要使用迭代器循環(huán)遍歷,需要借助set集合
- 推薦使用 EntrySet 遍歷,效率更高。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)短信驗(yàn)證碼詳細(xì)過程
這篇文章主要給大家介紹了關(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-09
SpringBoot+Vue項(xiàng)目新手快速入門指南
最近剛剛做了一個(gè)基于vue+springboot的系統(tǒng),于是基于這點(diǎn),對(duì)遇到的一些問題進(jìn)行一些配置的匯總,下面這篇文章主要給大家介紹了關(guān)于SpringBoot+Vue項(xiàng)目新手快速入門的相關(guān)資料,需要的朋友可以參考下2022-06-06
SpringBoot高版本修改為低版本時(shí)測試類報(bào)錯(cuò)的解決方案
這篇文章主要介紹了SpringBoot高版本修改為低版本時(shí)測試類報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
Java數(shù)據(jù)結(jié)構(gòu)之并查集的實(shí)現(xiàn)
并查集是一種用來管理元素分組情況的數(shù)據(jù)結(jié)構(gòu)。并查集可以高效地進(jìn)行如下操作。本文將通過Java實(shí)現(xiàn)并查集,感興趣的小伙伴可以了解一下2022-01-01
10個(gè)SpringBoot參數(shù)驗(yàn)證你需要知道的技巧分享
參數(shù)驗(yàn)證很重要,是平時(shí)開發(fā)環(huán)節(jié)中不可少的一部分,那么在Spring?Boot應(yīng)用中如何做好參數(shù)校驗(yàn)工作呢,本文提供了10個(gè)小技巧,你知道幾個(gè)呢2023-03-03

