Map常见的几种遍历方法
Map的遍历方法有很多种,各有优缺点,在实际运用中,我们应选择正确的遍历方法,以免出现不必要的错误。
下面简要介绍常用的几种遍历方法。
公共代码:
1 Map<String, Integer> map = new HashMap<String, Integer>(); 2 map.put("Tom", 22); 3 map.put("David", 20); 4 map.put("Lily", 20); 5 map.put("Lucy", 20); 6 map.put("James", 21); 7 map.put("Jim", 21);
第一种方法:使用for循环的Entry遍历
1 // 最常见的也是最可取的遍历方式,通常在键值都需要时使用。 2 for (Map.Entry<String, Integer> entry : map.entrySet()) { 3 System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); 4 }
结果:
第二种方法:使用for循环,按需遍历
1 // 如果只需要map中的键或者值,可以通过keySet或values来实现遍历。 2 // 遍历键 3 for (String key : map.keySet()) { 4 System.out.println("Key = " + key); 5 } 6 // 遍历值 7 for (Integer value : map.values()) { 8 System.out.println("value = " + value); 9 }
结果:
第三种方法:使用Iterator遍历
1 // 使用Iterator遍历 2 Iterator<Map.Entry<String, Integer>> it = map.entrySet().iterator(); 3 while (it.hasNext()) { 4 Map.Entry<String, Integer> entry = it.next(); 5 System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); 6 }
结果:
第四种方法:先遍历键,然后通过键找值
1 // 通过键找值遍历 2 for (String key : map.keySet()) { 3 Integer value = map.get(key); 4 System.out.println("Key = " + key + ", Value = " + value); 5 }
结果:
总结,第一种方法是最常见的也是最可取的遍历方式,通常在键值都需要时使用;如果仅仅获取Map的键或值时,可以选择第二种方法;当JDK版本较低时,1.5以下,必须选择第三种方法,使用迭代器的遍历;第四种先遍历键,然后通过键找值,效率太低,很少使用。上面的遍历方法也适用于Map的几个实现,比如HashMap、HashTable、TreeMap等。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端