Ich habe ein Problem beim Iterieren meiner Prioritätswarteschlange, die Concurrentmodificationexception kostet.Java concurrentmodificationexception in der Prioritätswarteschlange
Code für das Iterieren:
Queue<Patient> pq = new PriorityQueue<Patient>();
Iterator<Patient> it = pq.iterator();
while(iter.hasNext()){
Patient current = iter.next();
if(current.getName().equals(patientName)){
pq.remove(p);
}
}
Es Fehler sagt, dass iter.next() ConcurrentModificationException kosten. Darf ich bitte wissen, wie man das löst? Ich habe das Internet gesucht, aber das kann immer noch keine Lösung finden.
Sie können ein Element der Warteschlange, das Sie gerade durchlaufen, nicht löschen. – IQV
Sie können keine Elemente aus dem Iterator entfernen –
Verwenden Sie 'iter.remove();' zu entfernen, während iteracting –