Operationen auf ein Set

Status
Nicht offen für weitere Antworten.

oldshoe

Bekanntes Mitglied
Hallo!
Ich bekomme eine Concurrent Modification Exception und vermute dass dies an der Art der Modifikation meines Sets liegt. Ich versuche das Problem mal herunterzubrechen:

Ich habe ein geordnetes TreeSet, dass Autotypen (Objekte mit Attributen Name und Anzahl) enthält (VW Golf, VW Passat, VW Golf1, VW Golf2, Opel Astra,...)

Nun möchte ich, dass alle Elemente miteinander verglichen werden und eine Funktion checkGolf(Auto1, Auto2) ausgeführt wird, die erkennt dass VW Golf und VW Golf1 beide VW Golf sind und dem VW Golf -Objekt das Attribut Anzahl inkrementiert. ---dies funktioniert auch---
Das Problem: ich möchte jetzt nur noch das modifizierte VW Golf - Objekt in meinem Set haben, keine Golf1,2 usw.!

Mein Ansatz:
Java:
public Set findDuplicates (Set autoTypen){

for (Iterator autoIter = autoTypen.iterator(); autoIter.hasNext();){
			Auto auto1 = (Auto) autoIter.next();
			for (Iterator autoIter2 = autoTypen.iterator(); autoIter2.hasNext();){
			Auto auto2 = (Auto) autoIter2.next();
                        if (checkGolf(auto1, auto2)){
                        //first remove both object from set then add the modified one
                        autoTypen.remove(auto1);
                        autoTypen.remove(auto2);
                        modify(auto1);
                        autoTypen.add(auto1);
                       }
}
return autoTypen;
}
 

Noctarius

Top Contributor
Du musst die Remove-Methode des Iterators verwenden um Objekte innerhalb einer Iteration zu löschen. Selbiges gilt auch für Adds.

Alternativ alle Objekte sammeln und in einer zweiten Schleife die gesammelten Objekte löschen.
 

oldshoe

Bekanntes Mitglied
OK ich habe eine ignoreListe eingeführt, damit ich die gleichen Elemente des 2.Iterators dann auch nicht mehr durchlaufen muss.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20
J Listen Operationen Java Basics - Anfänger-Themen 4
D Algorithmus in Pseudocode mit log2(n) Operationen erstellen Java Basics - Anfänger-Themen 3
Hacer Operationen einfach verketteter Listen Java Basics - Anfänger-Themen 22
S Warum muss ich die operationen mit AffineTransform in umgekehrter Reihenfolge ausfuehren..? Java Basics - Anfänger-Themen 4
B Matrizen Operationen Java Basics - Anfänger-Themen 7
S NaN - Operationen ohne Fehler? Java Basics - Anfänger-Themen 3
B AffineTransform - Reihenfolge der Operationen Java Basics - Anfänger-Themen 3
G Messen von Elementaren Operationen Java Basics - Anfänger-Themen 3
S Liste von möglichen Operationen Java Basics - Anfänger-Themen 2
B genaue Anzahl der Operationen in Schleifen Java Basics - Anfänger-Themen 5
C Operationen auf Bitebene und Verschiebeoperatoren wichtig? Java Basics - Anfänger-Themen 26
Haave Postfix-Rechner: mehrere math. Operationen nacheinander ausführen Java Basics - Anfänger-Themen 8
M Bit/Byte Operationen Java Java Basics - Anfänger-Themen 8
B math. Operationen + Ausgabe Fehler :S Java Basics - Anfänger-Themen 5
K println - Klammern von Operationen Java Basics - Anfänger-Themen 4
Q mathematische Operationen als Methode und nicht Infix-Operator Java Basics - Anfänger-Themen 14
X Zählen von arithmetischen Operationen und Vergleichsoperationen Java Basics - Anfänger-Themen 7
R Kommandozeile Operationen Java Basics - Anfänger-Themen 3
G Strings Operationen Java Basics - Anfänger-Themen 7
G String-Operationen Java Basics - Anfänger-Themen 6
F Operationen mit Zeichenketten Java Basics - Anfänger-Themen 8
ven000m Aritmethische Operationen Java Basics - Anfänger-Themen 7
S Stack-Operationen Java Basics - Anfänger-Themen 59

Ähnliche Java Themen

Neue Themen


Oben