这个 Java 方法在做什么?

What is this Java method doing?

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=火}

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

对于 map1 方法中的每个键,查看相应的值,并且该值作为键存在于 map2 中,然后将其放入一个新的 TreeMap。

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

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