Java中HashMap集合的6種遍歷方式詳解
HashMap的6種遍歷方式
1 Foreach entrySet方式
@Test
public void test1(){
HashMap<Integer,String> languages=new HashMap<>();
languages.put(1,"java");
languages.put(2,"C#");
languages.put(3,"javascript");
languages.put(4,"C");
languages.put(5,"C++");
for (Map.Entry<Integer,String> entry:languages.entrySet()) {
log.info("key:"+entry.getKey());
log.info("value:"+entry.getValue());
}
}
2 Foreach keySet方式
@Test
public void test2(){
HashMap<Integer,String> languages=new HashMap<>();
languages.put(1,"java");
languages.put(2,"C#");
languages.put(3,"javascript");
languages.put(4,"C");
languages.put(5,"C++");
for (Integer key:languages.keySet()) {
log.info("key:"+key);
log.info("value:"+languages.get(key));
}
}
3 Iterator EntrySet方式
@Test
public void test3(){
HashMap<Integer,String> languages=new HashMap<>();
languages.put(1,"java");
languages.put(2,"C#");
languages.put(3,"javascript");
languages.put(4,"C");
languages.put(5,"C++");
Iterator<Map.Entry<Integer, String>> iterator = languages.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<Integer, String> next = iterator.next();
log.info("key:"+next.getKey());
log.info("value:"+next.getValue());
}
}
4 Iterator KeySet方式
@Test
public void test4(){
HashMap<Integer,String> languages=new HashMap<>();
languages.put(1,"java");
languages.put(2,"C#");
languages.put(3,"javascript");
languages.put(4,"C");
languages.put(5,"C++");
Iterator<Integer> iterator = languages.keySet().iterator();
while (iterator.hasNext()){
log.info("key:"+iterator.next());
log.info("value:"+languages.get(iterator.next()));
}
}
5 Lambda表達(dá)式
@Test
public void test5(){
HashMap<Integer,String> languages=new HashMap<>();
languages.put(1,"java");
languages.put(2,"C#");
languages.put(3,"javascript");
languages.put(4,"C");
languages.put(5,"C++");
languages.forEach((k,v)->{
log.info("key:"+k);
log.info("value:"+v);
});
}
6 Stream API方式
Stream API 單線程
@Test
public void test6(){
HashMap<Integer,String> languages=new HashMap<>();
languages.put(1,"java");
languages.put(2,"C#");
languages.put(3,"javascript");
languages.put(4,"C");
languages.put(5,"C++");
languages.entrySet().stream().forEach(entry->{
log.info("key:"+entry.getKey());
log.info("value:"+entry.getValue());
});
}
Stream API 多線程
@Test
public void test7(){
HashMap<Integer,String> languages=new HashMap<>();
languages.put(1,"java");
languages.put(2,"C#");
languages.put(3,"javascript");
languages.put(4,"C");
languages.put(5,"C++");
languages.entrySet().parallelStream().forEach(entry->{
log.info("key:"+entry.getKey());
log.info("value:"+entry.getValue());
});
}
到此這篇關(guān)于Java中HashMap集合的6種遍歷方式詳解的文章就介紹到這了,更多相關(guān)HashMap的6種遍歷方式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 集合框架之List 的使用(附小游戲練習(xí))
這篇文章主要介紹Java 集合框架中List 的使用,下面文章將圍繞Java 集合框架中List 的使用展開話題,并附上一些小游戲練習(xí),需要的朋友可以參考一下2021-10-10
Mybatis從3.4.0版本到3.5.7版本的迭代方法實(shí)現(xiàn)
本文主要介紹了Mybatis從3.4.0版本到3.5.7版本的迭代方法實(shí)現(xiàn),包括主要的功能增強(qiáng)、不兼容的更改和修復(fù)的錯(cuò)誤,具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03
Java棧和基礎(chǔ)隊(duì)列的實(shí)現(xiàn)詳解
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)中的棧與隊(duì)列,在Java的時(shí)候,對(duì)于棧與隊(duì)列的應(yīng)用需要熟練的掌握,這樣才能夠確保Java學(xué)習(xí)時(shí)候能夠有扎實(shí)的基礎(chǔ)能力。本文小編就來(lái)詳細(xì)說(shuō)說(shuō)Java中的棧與隊(duì)列,需要的朋友可以參考一下2022-02-02
MyBatis-Plus?Page?分頁(yè)不生效的問題解決
分頁(yè)是常見的一種功能,本文主要介紹了MyBatis-Plus?Page分頁(yè)不生效的問題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-07-07
JAVA實(shí)現(xiàn)Date日期加一天具體方法
這篇文章主要給大家介紹了關(guān)于JAVA實(shí)現(xiàn)Date日期加一天的相關(guān)資料,因?yàn)樵陧?xiàng)目中遇到了需要將日期進(jìn)行加減一些天數(shù)的操作,文中給出了簡(jiǎn)單的代碼示例,需要的朋友可以參考下2023-07-07
Java隨機(jī)數(shù)算法原理與實(shí)現(xiàn)方法實(shí)例詳解
這篇文章主要介紹了Java隨機(jī)數(shù)算法原理與實(shí)現(xiàn)方法,簡(jiǎn)單分析了隨機(jī)數(shù)算法的原理并結(jié)合具體實(shí)例形式給出了java編程計(jì)算隨機(jī)數(shù)的具體操作技巧,需要的朋友可以參考下2017-09-09
java實(shí)現(xiàn)簡(jiǎn)單驗(yàn)證碼生成
這篇文章主要介紹了java實(shí)現(xiàn)簡(jiǎn)單驗(yàn)證碼生成,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
Springboot 如何指定獲取自己寫的配置properties文件的值
這篇文章主要介紹了Springboot 如何指定獲取自己寫的配置properties文件的值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
Mybatis-plus批量去重插入ON DUPLICATE key update使用方式
這篇文章主要介紹了Mybatis-plus批量去重插入ON DUPLICATE key update使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12

