次のコードで同時変更例外エラーが発生します。
Iterator iterateBids = bidders.iterator();
Person nextBidder;
bidders.add(bid.getBidder());
if (highestBid == null) {
// There is no previous bid.
highestBid = bid;
while (iterateBids.hasNext()) {
//nextBidder = (Person) iterateBids.next();
((Person) iterateBids.next()).bidUpdate(this, bid);
}
return true;
} else if (bid.getValue() > highestBid.getValue()) {
// The bid is better than the previous one.
highestBid = bid;
while (iterateBids.hasNext()) {
nextBidder = (Person) iterateBids.next();
nextBidder.bidUpdate(this, bid);
}
return true;
}
bidders は Person を含む HashSet です。「nextBidder = (Person) iterateBids.next();」でエラーが発生 コードは、現在の入札額よりも高い入札額を探します。より高い場合は、入札者セットを繰り返し処理し、bidUpdate() メソッドを実行します。
変更と反復を同時に行うにはどうすればよいですか?