「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 反復中のコレクションの変更: ループ中に要素を追加できますか?

反復中のコレクションの変更: ループ中に要素を追加できますか?

2024 年 11 月 7 日に公開
ブラウズ:115

Modifying Collections During Iteration: Can We Add Elements While Looping?

反復中のコレクションの変更: 可能性と解決策

コレクションを操作する場合、コレクションの実行中に要素を動的に追加する必要がある状況に遭遇することがあります。繰り返します。ただし、Java チュートリアルでは、Iterator.remove 以外のメソッドを使用して基礎となるコレクションを変更しないように警告しています。それで、これを達成することは可能でしょうか?

反復の制限を回避するには、別のアプローチを検討してください:

反復変更のためのキューの利用

キューを利用して、反復処理する要素を保存します。新しい項目を追加する必要性を引き起こす要素が見つかったら、それらをキューの最後にエンキューします。

キューを反復処理し、空になるまで要素を継続的にデキューすることで、幅優先検索を効果的に実行できます。このアプローチにより、基礎となるコレクションを直接変更することなく反復中に要素を追加できるため、Java チュートリアルで説明されている落とし穴を回避できます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3