【问题标题】:What is this Java method doing?这个 Java 方法在做什么?
【发布时间】:2015-04-23 15:43:01
【问题描述】:
public Map mystery(Map map1, Map map2) {
Map result = new TreeMap();
for (String s1 : map1.keySet()) {
    if (map2.containsKey(map1.get(s1))) {
        result.put(s1, map2.get(map1.get(s1)));
    }
}
return result;
}

map1={bar=1, baz=2, foo=3, mumble=4}; map2={1=地球,2=风,3=空气,4=火}

【问题讨论】:

  • 我不需要问题的答案,但如果我能理解该方法的作用,那将会很有帮助。

标签: java dictionary methods keyset


【解决方案1】:

对于 map1 中的每个键,方法会查看对应的值,并且该值作为键存在于 map2 中,而不是将其放入新的 TreeMap。

考虑一次迭代。 map1 的键为bar,其值为1。现在 map2 有1 作为它的键值earth。所以放入新地图的数据是bar:earth等等..

另请注意,由于结果映射是TreeMap,元素将按字典顺序存储(因为键是字符串,而 TreeMap 按照键自然顺序按排序顺序存储元素)。

【讨论】:

    【解决方案2】:

    它正在计算函数 map2(map1) 的组成,并为您提供数量惊人的原始类型警告。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多