


Methode zum Löschen bestimmter Elemente in der Arraylist-Schleife der Java-Sammlungsklasse
Während der Projektentwicklung müssen wir möglicherweise häufig einige Elemente in der ArrayList dynamisch löschen.
Ein falscher Weg:
<pre name="code" class="java">for(int i = 0 , len= list.size();i<len;++i){ if(list.get(i)==XXX){ list.remove(i); } }
Die obige Methode löst die folgende Ausnahme aus:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 3, Size: 3 at java.util.ArrayList.RangeCheck(Unknown Source) at java.util.ArrayList.get(Unknown Source) at ListDemo.main(ListDemo.java:20)
Weil Wenn Sie das Element gelöscht, aber den Iterationsindex nicht geändert haben, wird eine Ausnahme ausgelöst, wenn die Iteration den letzten erreicht.
Das obige Programm kann wie folgt verbessert werden:
for(int i = 0 , len= list.size();i<len;++i){ if(list.get(i)==XXX){ list.remove(i); --len;//减少一个 } }
Der obige Code ist korrekt.
Lassen Sie uns unten eine weitere Lösung vorstellen:
Die List-Schnittstelle implementiert die Iterator-Schnittstelle intern und stellt Entwicklern einen iterator() zur Verfügung, um ein Iteratorobjekt des aktuellen Listenobjekts abzurufen.
Iterator<String> sListIterator = list.iterator(); while(sListIterator.hasNext()){ String e = sListIterator.next(); if(e.equals("3")){ sListIterator.remove(); } }
Das oben Gesagte ist auch richtig und die zweite Option wird empfohlen.
Die Implementierungsprinzipien der beiden Lösungen sind recht unterschiedlich. Die zweite Lösung wird nur von jdk gekapselt.
Wenn Sie sich den ArrayList-Quellcode ansehen, werden Sie feststellen, dass viele Methoden intern basierend auf der Iteratorschnittstelle implementiert sind. Daher wird empfohlen, die zweite Lösung zu verwenden.
Das Obige ist die gesamte Methode zum Löschen bestimmter Elemente in der Arraylist-Schleife der Java-Sammlungsklasse, die Ihnen vom Editor bereitgestellt wurde. Ich hoffe, dass jeder die chinesische PHP-Website unterstützt ~
Mehr Java-Sammlungsklasse arraylist Weitere Artikel zum Löschen bestimmter Elemente in einer Schleife finden Sie auf der chinesischen PHP-Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

