这个 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 按照键的自然顺序按排序顺序存储元素)。
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 按照键的自然顺序按排序顺序存储元素)。