【初心者】Java質問・相談スレ24【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0660655
NGNG質問者さんが初心者っぽいので補足しておくよ。
当然ながら、通常、イテレーション中にそのListの
要素を追加・削除などをするのは危険ですぞ。
危険というのはどうなるかわからないという意味。
イテレーションの動作はそれぞれのIteratorの
実装依存だからね。
もしも、イテレーションしながらListの要素を
追加・削除したいのであれば、2つの方法がある。
1つはListのディープコピーをとり、イテレーションは
そのコピーに対して行い、追加・削除はもとのListに
対して行う。
もう一つはIteratorがイテレーション中に要素が
追加・削除されることに対応する実装にすること。
まぁ、2番目の方法ではListとの共同作業になるだろうけどね。
Listは自分が生成したIteratorの状態を見て、
適切にそのItereatorの状態を変化させるみたいな。
#ディープコピーっていうのは実体ごとコピーすること。
■ このスレッドは過去ログ倉庫に格納されています