Ich versuche, einige caluclation für jeden Wert der Liste im Hauptthread wie untenConcurrentModificationException auf Listengröße()
for (int i = 0; i < list.size(); i++) {
//Do some task
}
Bur Ich erhalte die ConcurrentModificationException auf list.size() zu tun.
Es ist die einfache java.util.List
Caused by: java.util.ConcurrentModificationException
at java.util.AbstractList$SubAbstractList.size(AbstractList.java:360)
at java.util.Collections$SynchronizedCollection.size(Collections.java:440)
Wie dieses Problem zu lösen?
komplette Code:
private List<Double> computeValue(@NonNull List<Double> list1, List<Double> list2) {
List<Double> computedList = new ArrayList<>();
for (int i = 0; i < list1.size(); i++) {
computedList.add(-((list1.get(i) + list2.get(i))/2));
}
return computedList;
}
Löschen Sie Elemente in der Liste, während Sie darüber iterieren? Bitte zeigen Sie den Code, der in "// tue einige Aufgabe" kommt. – hamena314
@ hamena314 Bitte überprüfen Sie die Bearbeitung, ich habe den vollständigen Code hinzugefügt und die Werte nicht geändert. – Praveen
Ich bin mir einer Implementierung von 'List' nicht bewusst, die einen CME auf die Größe werfen würde, weil das nicht Teil einer Iteration ist. Bist du sicher, dass es dort vorkommt? Was sind die konkreten Arten der Listen? –