我有两个不同的HashMap实例。
我想要合并这两个HashMap的键集;
代码:
Set<String> mySet = hashMap1.keySet();
mySet.addAll(hashMap2.keySet());
异常:
java.lang.UnsupportedOperationException
at java.util.AbstractCollection.add(AbstractCollection.java:238)
at java.util.AbstractCollection.addAll(AbstractCollection.java:322)
我没有收到编译警告或错误。
根据Java文档,这应该是有效的。 即使添加的集合也是一个Set:
boolean addAll(Collection c)
如果指定的集合中的元素(可选操作)尚未存在于此集合中,则将指定集合中的所有元素添加到此集合中。 如果指定的集合也是一个Set,则addAll操作会有效地修改此集合,以使其值为两个集合的并集。 如果在操作正在进行时修改了指定的集合,则此操作的行为是未定义的。