Ich erinnere mich, dass es ein Problem mit der Verwendung der für die Loop zum Löschen von Elementen in der Liste gibt, aber Sie können den erweiterten für die Schleife verwenden. Dann stellte ich heute fest, dass bei der Verwendung eines Fehlers gemeldet wurde, und ging dann zur Popularisierung der Wissenschaft und stellte dann fest, dass dies ein Missverständnis war. Lassen Sie uns unten darüber sprechen. . Greifen Sie nach und springen Sie direkt bis zum Ende des Artikels. Schauen Sie sich die Zusammenfassung an. .
Es gibt drei Möglichkeiten, um Traverse -Listen in Java zu schleifen, die Schleife (dh die allgemein bekannt als foreach Loop bekannt) und die Iterator -Traversal zu verbessern.
1. Für die Loop -Traversalliste
für (int i = 0; i <list.size (); i ++) {if (list.get (i) .equals ("del") list.remove (i);}Das Problem bei dieser Methode besteht darin, dass sich nach dem Löschen eines Elements, die Größe der Liste und Ihre Index ändert, was dazu führt, dass Sie bestimmte Elemente während des Durchquerens verpassen. Wenn Sie beispielsweise das erste Element löschen und nach dem Index weiterhin auf das zweite Element zugreifen, da die Elemente nach der gelöschten Beziehung nacheinander, dem tatsächlichen Zugriff auf das dritte Element, verschoben werden. Daher kann diese Methode beim Löschen eines bestimmten Elements verwendet werden, ist jedoch beim Löschen mehrerer Elemente in einer Schleife nicht geeignet.
2. Verbessern Sie die für die Schleife
für (String x: list) {if (x.equals ("del")) list.remove (x);}Das Problem bei dieser Methode ist, dass nach dem Löschen des Elements die Fehlermeldung durch Fortsetzung der Schleife gemeldet wird, da die gleichzeitige Modifikation auftritt, wenn das Element verwendet wird, was zu einer Ausnahme führt. Wenn Sie jedoch die Pause sofort nach dem Löschen herausspringen, wird nicht ein Fehler ausgelöst.
3. Iteratortraversal
Iterator <string> it = list.iterator (); while (it.hasNext ()) {string x = it.next (); if (x.equals ("del")) {it.remove (); }}Diese Methode kann normal gelöscht und gelöscht werden. Es ist jedoch zu beachten, dass Sie, wenn Sie die Methode des Iterators entfernen und die oben genannte Vermittlungsmethode der Liste entfernen, auch den oben erwähnten Fehler mit ConcurrentModificationException melden.
Zusammenfassen:
(1) Wenn Sie ein bestimmtes Element in der Liste löschen, können Sie eine der drei Methoden verwenden. Sie sollten jedoch auf die verschiedenen oben analysierten Themen achten, wenn Sie sie verwenden.
(2) Wenn Sie in der Liste mehrere Elemente löschen, sollten Sie die Iteratormethode verwenden.
Die obige Zusammenfassung der obigen Methode zum Löschen von Elementen in Listen in Java ist der gesamte Inhalt, der vom Editor geteilt wird. Ich hoffe, es kann Ihnen eine Referenz geben und ich hoffe, Sie werden Wulin.com mehr unterstützen.