Java で Map を繰り返し処理しているとします...その Map を繰り返し処理しているときに、その Map に対して何ができるかわかりません。私は、Javadoc の Iterator インターフェイス remove メソッドの次の警告にほとんど混乱していると思います。
[...] このメソッドを呼び出す以外の方法で反復の進行中に基になるコレクションが変更された場合、反復子の動作は規定されていません。
remove メソッドを問題なく呼び出せることは確かです。しかし、Map コレクションを繰り返し処理しているときに、次のことができますか?
キーに関連付けられた値を Map クラスの put メソッド (既存のキーで put) で変更しますか?
Mapクラスのputメソッド(新しいキーでput)で新規エントリ追加?
Map クラスの remove メソッドでエントリを削除しますか?
私の推測では、おそらく安全に #1 (既存のキーに配置) を実行できますが、#2 または #3 を安全に実行することはできません。
これについて明確にしていただきありがとうございます。