Java:如何合并两张地图的键?

时间:2011-10-01 05:50:43

标签: java

我在Java工作,并宣布了两张地图如下:

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中插入两个地图的键。是否存在任何内置方法或者我需要编写一些自定义代码?

2 个答案:

答案 0 :(得分: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()

答案 1 :(得分:2)

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

keySet()从地图中获取所有键并将它们作为一组返回。然后addAll将该集添加到您的列表中。