„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Sammlungen während der Iteration ändern: Können wir während der Schleife Elemente hinzufügen?

Sammlungen während der Iteration ändern: Können wir während der Schleife Elemente hinzufügen?

Veröffentlicht am 07.11.2024
Durchsuche:357

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

Ändern einer Sammlung während der Iteration: Möglichkeiten und Lösungen

Bei der Arbeit mit Sammlungen können Situationen auftreten, in denen Sie Elemente während der Iteration dynamisch hinzufügen müssen iterieren. Das Java-Tutorial warnt jedoch davor, die zugrunde liegende Sammlung mit anderen Methoden als Iterator.remove zu ändern. Ist es also überhaupt möglich, dies zu erreichen?

Um die Iterationsbeschränkungen zu umgehen, ziehen Sie einen alternativen Ansatz in Betracht:

Verwenden einer Warteschlange für iterative Änderungen

Nutzen Sie eine Warteschlange, um die Elemente zu speichern, über die Sie iterieren möchten. Wenn Sie auf ein Element stoßen, das das Hinzufügen neuer Elemente erforderlich macht, stellen Sie diese am Ende der Warteschlange ein.

Indem Sie die Warteschlange durchlaufen und kontinuierlich Elemente aus der Warteschlange entfernen, bis sie leer ist, führen Sie effektiv eine Breitensuche durch. Mit diesem Ansatz können Sie Elemente während der Iteration hinzufügen, ohne die zugrunde liegende Sammlung direkt zu ändern, und so die im Java-Tutorial beschriebenen Fallstricke vermeiden.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3