同様の質問がありますが、私が聞きたいこととは異なります。Iterator が変更をチェックする方法を知りたいです。
このリンクは、その実装が AbstractList クラスに存在し、リストサイズが変更された回数を提供する int 変数 modCount が定義されていることを示しています。この値は、すべての next() 呼び出しで使用され、関数 checkForComodification() の変更をチェックします。
しかし、私はそれを本当に理解できませんでした。次のすべての呼び出しの後にのみ値がチェックされる場合、同じ呼び出しで削除に続いて追加を行うと、サイズは変更されず、modCount も変更されません。ただし、同じループ反復で削除および追加すると、例外もスローされます。