Java基础知识--map集合的遍历方式

  Map.entrySet() 这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry 是Map中的一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<Map.Entry<K,V>>表示一个映射项的Set。Map.Entry里有相应的getKey和getValue方法,即JavaBean,让我们能够从一个项中取出Key和Value。

  下面是遍历Map集合的四种方法:

复制代码
 1 public class MapForeach {
 2     public static void main(String[] args) {
 3         Map<String,String> map = new HashMap<>();
 4         map.put("1","Java");
 5         map.put("2","python");
 6         map.put("3","c");
 7         map.put("4","php");
 8         System.out.println("使用四种方法遍历map集合:------");
 9         //第一种:普遍使用,二次取值
10         System.out.println("1.通过Map.keySet遍历key和value");
11         for (String key : map.keySet()){
12             System.out.println("key = "+key+" and value = "+map.get(key));
13         }
14 
15         System.out.println();
16         //第二种:使用iterator遍历
17         System.out.println("2.通过Map.entrySet使用iterator遍历key和value");
18         Iterator<Map.Entry<String,String>> iterator = map.entrySet().iterator();
19         while (iterator.hasNext()){
20             Map.Entry<String,String> entry = iterator.next();
21             System.out.println("key = "+entry.getKey()+" and value = "+entry.getValue());
22         }
23 
24         System.out.println();
25         //第三种:当map的容量比较大时,推荐使用
26         System.out.println("3.通过Map.entrySet遍历key和value");
27         for (Map.Entry<String,String> entry : map.entrySet()){
28             System.out.println("key = "+entry.getKey()+" and value="+entry.getValue());
29         }
30 
31         System.out.println();
32         //第四种:jdk8的foreach用法
33         System.out.println("4.通过jdk8提供的foreach方法遍历");
34         map.forEach((key,value)->{
35             System.out.println("key = "+key+" and value="+value);
36         });
37     }
38 }
复制代码

遍历结果:

 

 

posted @   WK_BlogYard  阅读(158)  评论(0编辑  收藏  举报
编辑推荐:
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
阅读排行:
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
点击右上角即可分享
微信分享提示