我们应该遍历地图吗?为什么呢?

时间:2016-06-21 05:01:53

标签: java dictionary foreach set

如果我们使用map,我认为对于每个循环或其他方式不需要遍历对象。我们拥有独特的关键和价值,因此我们可以轻松找到价值。 我在面试中遇到这么多问题。我不这么认为这个问题 正确。请帮我解决问题。

2 个答案:

答案 0 :(得分:2)

当你需要遍历地图时,你应该遍历地图。你纠正了,如果你有钥匙,你就不需要做任何遍历;只需使用密钥。但有时候你没有钥匙。例如,想象一个由人的姓名键入的地图,其年龄为值:

Map<String, Integer> m = new HashMap<String, Integer>();
// Presumably these are added by a user or similar
m.put("Joe", 27);
m.put("Mohammad", 42);
m.put("Maria", 29);

稍后我们需要输出所有的名字和年龄;我们将遍历地图(从技术上讲,我们将遍历其输入集):

for (Map.Entry<String, Integer> e : m.entrySet()) {
    System.out.println(e.getKey() + ": " + e.getValue());
}

其他时候,我们可能会遍历keySetvalues

答案 1 :(得分:0)

当您想要对所有条目执行某些操作时,必须迭代Map中的所有条目。

您经常要对条目做的常见事情:

  • 打印/显示所有这些
  • 过滤它们以获取具有特定属性的新地图
  • 搜索具有特定属性的项目
  • 计算地图中值的统计数据(总和,最大值,最小值,平均值)