バイトを一連のバイトにマップするマップがあります。マップを歩き回り、セットに変更を加えたい。
private HashMap<Byte, HashSet<Byte>> table;
...
Iterator<Entry<Byte, HashSet<Byte>>> it = table.entrySet().iterator();
while( it.hasNext() ) {
Map.Entry<Byte, HashSet<Byte>> pairs = it.next();
byte node = pairs.getKey();
HashSet<Byte> hSet = pairs.getValue();
Iterator<Byte> setIter = hSet.iterator();
while( setIter.hasNext() ) {
byte sNode = setIter.next(); // Throws a ConcurrentModificationException
...
}
}
サブ反復子を反復しようとすると、このコードは ConcurrentModificationException をスローします。マップ内でこのコレクションを反復処理し、変更するにはどうすればよいですか?