当前位置: 首页 > 知识库问答 >
问题:

遍历Map中的键和值

萧鸿轩
2023-03-14

有时我发现自己复制代码以从Map中提取键和值条目(例如,在测试/调试第三方API时)。

Map<String, String> someMap;
Set<String> keys = someMap.keySet();
for(int j=0;j<someMap.size();j++){
    String key = (String) keys.toArray()[j];
    System.out.println("key > " + key + "  : value = " + someMap.get(key));
}

我知道Groovy对此有一些很好的抽象(例如,在groovy地图中获取键),但我只能使用POJ。当然,一定有一种更优雅、更少冗长的方式来做到这一点,Java我的意思是?

共有3个答案

寿高阳
2023-03-14

根据您尝试做的事情,Google集合有一个地图API,它提供了一些帮助函数来转换地图等。

如果你想把地图打印出来,这篇文章可能会很有用

储志业
2023-03-14

您可以使用for each循环来简化代码:

Map<String, String> someMap;
for(String key : someMap.keySet()){
    System.out.println("key > " + key + "  : value = " + someMap.get(key));
}

或者您使用条目集执行此操作。当我还在编辑我的答案时,Amit提供了一些代码;-)

柳英资
2023-03-14

您可以使用条目

可以使用Entry.getKey()Entry.getValue()提取条目中的键和值

代码示例:

Map<String, String> someMap;
for (Entry<String,String> entry : someMap.entrySet()) {
    System.out.println("key > " + entry.getKey()+ "  : value = " + entry.getValue());
}
 类似资料:
  • 本文向大家介绍js遍历map javaScript遍历map的简单实现,包括了js遍历map javaScript遍历map的简单实现的使用技巧和注意事项,需要的朋友参考一下 js遍历map javaScript遍历map的简单实现 这样会把map给遍历掉,显示在浏览器上的控制器里。 以上这篇js遍历map javaScript遍历map的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参

  • 本文向大家介绍Map获取键值,Map的几种遍历方法总结(推荐),包括了Map获取键值,Map的几种遍历方法总结(推荐)的使用技巧和注意事项,需要的朋友参考一下 Map获取键值 Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象。 Map的接口 Map---实现Map Map.Entry--Map的内部类,描述Map中的按键/数值对。 SortedMap---扩

  • map 的遍历过程使用 for range 循环完成,代码如下: 遍历对于Go语言的很多对象来说都是差不多的,直接使用 for range 语法即可,遍历时,可以同时获得键和值,如只遍历值,可以使用下面的形式: 将不需要的键使用 改为匿名变量形式。 只遍历键时,使用下面的形式: 无须将值改为匿名变量形式,忽略值即可。 注意:遍历输出元素的顺序与填充顺序无关,不能期望 map 在遍历时返回某种期望顺

  • Map 集合的遍历与 List 和 Set 集合不同。Map 有两组值,因此遍历时可以只遍历值的集合,也可以只遍历键的集合,也可以同时遍历。Map 以及实现 Map 的接口类(如 HashMap、TreeMap、LinkedHashMap、Hashtable 等)都可以用以下几种方式遍历。 1)在 for 循环中使用 entries 实现 Map 的遍历(最常见和最常用的)。 2)使用 for-e

  • 问题内容: 从Javascript 1.7开始,有一个Iterator对象,它允许这样做: node.js中是否有类似的东西? 现在我正在使用: 但这通过将所有对象密钥存储在中而产生大量开销。 问题答案: 您想要的是对象或数组上的延迟迭代。这在ES5中是不可能的(因此在node.js中是不可能的)。我们最终会得到这个。 唯一的解决方案是找到一个扩展V8的节点模块,以实现迭代器(可能还有生成器)。我

  • 问题内容: 以下代码不起作用,因为Freemarker似乎将[]中的表达式的值强制转换为String,然后将其用作键,这并不是实际期望的值。 准备模板模型: my.ftl: 在Freemarker文档中,描述了如何访问Enum本身,但是我没有找到有关如何使用Enum作为键从哈希中获取值的任何信息。 谢谢。 问题答案: 要对此释义Freemarker文档常见问题, 您不能在myMap [key]表达