Heim  >  Artikel  >  Java  >  Trap im Java Collection Iterator Iterator entfernen

Trap im Java Collection Iterator Iterator entfernen

高洛峰
高洛峰Original
2016-11-22 17:08:241265Durchsuche

Paket TestList;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.TreeSet;

public class TestIterator {

/**
     * @param args
    */
public static void main(String[] args) {
// TODO Automatisch generierter Methoden-Stub
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc") ;
Iterator t = list.iterator();
while(t.hasNext()){
if(t.next().equals("bbb")){ //Iterator zum Durchlaufen verwenden Wenn Sie beim Sammeln ein Element in der Sammlung löschen möchten, müssen Sie es löschen, wenn das vorletzte Element durchlaufen wird.
list.remove("ccc");

TreeSet();
set.add("ddd");
set.add("eee");
set.add("fff");
Iterator t1 = set.iterator();
while(t1.hasNext()){
if(t1.next().equals("fff")){ //Iterator verwenden Beim Durchlaufen der Set-Sammlung, Wenn Sie ein Element in der Menge löschen möchten, müssen Sie es löschen, wenn Sie das letzte Element durchlaufen
set.remove("eee");
}
}
}

}

Aufgrund bestimmter Unterschiede in der Implementierung von Iterator durch List und Set verhalten sich List und Set beim Löschen von Set-Elementen während der Iteration unterschiedlich.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Java-Thread-Status BLOCKIERTNächster Artikel:Java-Thread-Status BLOCKIERT