Hallo leute,
beim kopieren einer instanz einer klasse "Machine", welche mehrere referenzen (gesammelt in einer liste) auf elemente einer anderen klasse "ProductionOperation" besitzt, erscheint bei mir beim umschreiben der elemente eine java.util.ConcurrentModificationException. Jedoch habe ich doch eigentlich alle Modifikationen an den Listen extra außerhalb der foreach-schleife gelagert. hat vielleicht jemand eine idee woran das hier liegen könnte?
das ist natürlich ein echt schwer zu verstehender algorithmus,aber falls jemand fragen dazu hat, kann ich die gerne beantworten. vielen dank schonmal für eure antworten
beim kopieren einer instanz einer klasse "Machine", welche mehrere referenzen (gesammelt in einer liste) auf elemente einer anderen klasse "ProductionOperation" besitzt, erscheint bei mir beim umschreiben der elemente eine java.util.ConcurrentModificationException. Jedoch habe ich doch eigentlich alle Modifikationen an den Listen extra außerhalb der foreach-schleife gelagert. hat vielleicht jemand eine idee woran das hier liegen könnte?
Java:
List<ProductionOperation> remove;
List<Machine> machines = new ArrayList<Machine>();
for (Machine m : problem.getMachines()) {
Machine temp = new Machine(m);
remove = new ArrayList<ProductionOperation>();
for (ProductionOperation operation1 : m.getOperations()) {
for (ProductionOperation operation2 : this.getOperations()) {
if (operation1.getName() == "Q"
|| operation1.getName() == "S") {
remove.add(operation1);
// m.getOperations().remove(operation1);
}
if (operation1.getName() == operation2.getName()) {
temp.getOperations().add(operation2);
// temp.getOperations().remove(operation1);
remove.add(operation1);
operation2.setMachine(temp);
}
}
}
temp.getOperations().removeAll(remove);
machines.add(temp);
}
this.machines.addAll(machines);
das ist natürlich ein echt schwer zu verstehender algorithmus,aber falls jemand fragen dazu hat, kann ich die gerne beantworten. vielen dank schonmal für eure antworten