Heim > Java > javaLernprogramm > Hauptteil

Durchlaufen und Löschen von Elementen in List- und Set-Sammlungen in Java (empfohlen)

高洛峰
Freigeben: 2017-01-23 16:52:13
Original
2157 Leute haben es durchsucht

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);
  }
}
Nach dem Login kopieren

Hinweis: Die Verwendung der oben genannten Schreibmethode führt zu der oben genannten ConcurrenModificationException-Ausnahme. Der Grund dafür ist, dass die Sammlung nicht gleichzeitig durchlaufen und gelöscht werden kann . Die korrekte Schreibweise von

lautet wie folgt:

1. Liste durchlaufen 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();
  }
}
Nach dem Login kopieren

2. Set durchqueren und löschen

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();
            }
        }
Nach dem Login kopieren

Die oben beschriebene Methode (empfohlen) zum Durchlaufen und Löschen von Elementen in Listen- und Set-Sammlungen in Java gilt für den gesamten Inhalt, der von geteilt wird Ich hoffe, der Herausgeber kann Ihnen eine Referenz geben und ich hoffe, dass Sie die chinesische PHP-Website unterstützen.

Weitere Methoden zum Durchlaufen und Löschen von Elementen in List- und Set-Sammlungen in Java (empfohlen) finden Sie auf der chinesischen PHP-Website für verwandte Artikel!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage