Sha*_*ala 0 java hashmap type-conversion
你好 Stack Overflow 社区,
我在使用 Java 的 HashMap 时遇到了挑战。我有两个 HashMap,map1 和 map2,其中 map1 具有 Float 类型的键,map2 具有 Integer 类型的键。现在,我需要将条目从map1复制到map2。
import java.util.Map;
import java.util.HashMap;
public class Q9 {
public static void main(String[] args) {
Map<Float, String> map1 = new HashMap<>();
Map<Integer, String> map2 = new HashMap<>();
// Adding entries to map1
map1.put(11.1f, "black");
map1.put(12.1f, "brown");
map1.put(13.1f, "Grey");
map1.put(14.1f, "blue");
// Now, I want to copy the entries from map1 to map2 with Integer keys
// map2.putAll(map1); // This line gives a compilation error due to key type mismatch
// How can I convert the Float keys from map1 to Integer keys to successfully copy entries to map2?
}
}
Run Code Online (Sandbox Code Playgroud)
我希望获得有关如何将键从浮点转换为整数的指导,以便我可以成功地将条目从map1复制到map2。任何见解、代码示例或最佳实践都非常有价值。
谢谢您的帮助!
您可以在将键更改为 后迭代map1并插入每个条目:map2Integer
for(Map.Entry<Float, String> entry : map1.entrySet())
map2.put(entry.getKey().intValue(), entry.getValue());
Run Code Online (Sandbox Code Playgroud)