У меня есть два разных экземпляра HashMap
Я хочу объединить ключи обоих HashMaps;
Код:
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 doc это должно работать. Даже если добавленная коллекция также является набором:
boolean addAll (коллекция c)
Добавляет все элементы в указанной коллекции к этому набору, если они еще не присутствуют (дополнительная операция). Если указанные коллекция также является набором, операция addAll эффективно изменяет этот набор так, чтобы его значение было объединением двух множеств. Поведение этой операции undefined, если указанная коллекция изменена пока выполняется операция.