У меня проблема с итерированием моей очереди приоритетов, которая стоит Concurrentmodificationexception.Java concurrentmodificationexception в очереди приоритетов
код для итерации:
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);
}
}
Там ошибка говорит, что iter.next() стоимость ConcurrentModificationException. Могу ли я узнать, как это решить? Я ищу в Интернете, но все еще не могу найти решение этого.
Вы не можете удалить элемент очереди, в котором вы фактически выполняете итерацию. – IQV
вы не можете удалить элементы из итератора –
Использовать 'iter.remove();' удалить во время iteracting –