Java:如何合并两个映射的键?

4

我正在使用Java编程,并声明了以下两个map:

private Map<MyCustomClass, Integer> map1, map2;
map1 = new HashMap<MyCustomClass, Integer>();
map2 = new HashMap<MyCustomClass, Integer>();

//adding some key value pair into map1
//adding some key value pair into map2

private ArrayList<MyCustomClass> list = new ArrayList<MyCustomClass>(); 

现在我希望在上面声明的ArrayList中插入两个映射的键。是否存在内置方法可以实现这一点,还是需要编写一些自定义代码?

合并?您只想连接而不检查重复项吗? - Mark Byers
2个回答

8

添加所有内容:

list.addAll(map1.keySet());
list.addAll(map2.keySet());

仅添加唯一的键:

Set<MyCustomClass> keys = new HashSet(map1.keySet());
keys.addAll(map2.keySet());

list.addAll(keys);

参考资料:List.addAll(Collection c)HashMap.keySet()


2
list.addAll(map1.keySet()); 
list.addAll(map2.keySet()); 

keySet()方法从Map中获取所有的键,并将它们作为一个Set返回。然后,addAll方法将该Set添加到您的List中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接