HashMap の 2 つの異なるインスタンスがあります
両方の 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 docから、これは機能するはずです。追加されたコレクションもセットの場合:
boolean addAll(コレクションc)
指定されたコレクション内のすべての要素がまだ存在しない場合は、このセットに追加します (オプションの操作)。指定されたコレクションもセットである場合、addAll 操作はこのセットを効果的に変更し、その値が 2 つのセットの和集合になるようにします。操作の進行中に指定されたコレクションが変更された場合、この操作の動作は未定義です。