Heim  >  Artikel  >  Java  >  So durchlaufen und löschen Sie Elemente in List- und Set-Sammlungen in Java

So durchlaufen und löschen Sie Elemente in List- und Set-Sammlungen in Java

高洛峰
高洛峰Original
2017-01-22 16:01:303032Durchsuche

Als ich heute an einem Projekt arbeitete, musste ich bestimmte Elemente in List und Set löschen. Ich habe beim Durchlaufen die Methode zum Durchlaufen und Löschen verwendet, aber die folgende Ausnahme wurde gemeldet:

ConcurrentModificationException

Um es in Zukunft nicht zu vergessen, notieren Sie es mit einem schlechten Stift wie folgt:

Die Art und Weise, wie der Fehlercode geschrieben wird, d. h. die Art und Weise, die obige Ausnahme zu melden:

Set<CheckWork> set = this.getUserDao().getAll(qf).get(0).getActionCheckWorks();
for(CheckWork checkWork : set){
  if(checkWork.getState()==1){
    set.remove(checkWork);
  }
}

Hinweis: Wenn Sie die obige Schreibmethode verwenden, werden Sie einen Bericht erhalten. Der Grund für die oben genannte ConcurrenModificationException ist, dass die Sammlung beim Durchlaufen nicht gelöscht werden kann. Die korrekte Schreibweise von

ist wie folgt:

1. Liste durchqueren und löschen

List<CheckWork> list = this.getUserDao().getAll();
Iterator<CheckWork> chk_it = list.iterator();
while(chk_it.hasNext()){
  CheckWork checkWork = chk_it.next();
  if(checkWork.getPlanState()==1){
    chk_it.remove();
  }
}

2 >Im obigen Java-Artikel Die Methode zum Durchlaufen und Löschen von Elementen in Listen- und Set-Sammlungen (empfohlen) ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe, dass Sie dem mehr Aufmerksamkeit schenken Chinesische PHP-Website.

Set<CheckWork> set = this.getUserDao().getAll().get(0).getActionCheckWorks();
        Iterator<CheckWork> it = set.iterator();
        while(it.hasNext()){
            CheckWork checkWork = it.next();
            if(checkWork.getState()==1){
                it.remove();
            }
        }
Weitere verwandte Artikel zum Durchlaufen und Löschen von Elementen in List- und Set-Sammlungen in Java finden Sie auf der chinesischen PHP-Website!

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