1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1176
1176
EMPFEHLEN
-
Hi,
ich habe zwei ArrayListen, die gegeneinander verglichen werden sollen. An sich funktioniert meine Methode
Aber ich habe das Problem bspw. in der personList ein String "Peter" und in der tagpool-Liste "Peter" und "peter", nur einer der beiden Tags gelöscht wird.Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
public void removeNames() { for(String name : personList) { int tagIndex = 0; for(Tag tag : tagpool) { String tagname = tag.getName().trim(); if(name.contains(tagname)) { tagpool.remove(tagIndex); break; } if(tagname.equalsIgnoreCase(name)) { tagpool.remove(tagIndex); break; } tagIndex++; } } }
cash rules everything around me
-
Weil du mit dem break aus der Schleife springst., er findet "Peter", löscht "Peter" und springt mit dem break aus der Schleife.
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
public void removeNames() { for (String name : personList) { int tagIndex = 0; for (Tag tag : tagpool) { String tagname = tag.getName().trim(); if (name.contains(tagname)) { tagpool.remove(tagIndex); // break; } if (tagname.equalsIgnoreCase(name)) { tagpool.remove(tagIndex); break; } tagIndex++; } } }
funktioniert für einen tagpool mit zwei elementen "Peter" und "peter", allerdigns dann nicht mit "Peter","peter" und "peTer". Aber das größere Problem ist das du in der Schleife versuchst eine Objekt aus der Liste zu entfernen über die grade iteriert wird. Das ist nie eine gute Idee und funktioniert auch nicht. Probier es lieber so:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
public void removeNames() { List<Tag> matched = new ArrayList<Tag>(); for (Tag tag : tagpool) { String tagname = tag.getName().trim(); for (String name : personList) { if (tagname.equalsIgnoreCase(name)) { matched.add(tag); break; } } } for (Tag t : matched) { tagpool.remove(t); } } }
Viele Grüße
f.Geändert von fassy (24.01.10 um 23:08 Uhr)
-
Vielen vielen Dank ! Den Tipp werd ich mir definitiv merken
cash rules everything around me
Ähnliche Themen
-
2 ArrayListen in Zeilen ausgeben
Von javaxy im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 4Letzter Beitrag: 16.05.07, 19:34 -
ArrayList soll ArrayListen aufnehmen
Von Joerg66 im Forum JavaAntworten: 7Letzter Beitrag: 16.10.05, 11:31 -
cs1 im Vergleich zu cs2
Von hubbl im Forum PhotoshopAntworten: 3Letzter Beitrag: 12.08.05, 12:29 -
Vergleich von JSF - JSP
Von Milinge im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 4Letzter Beitrag: 09.03.05, 15:48 -
Excel: Vergleich und Index, wobei auch vergleich auf kleiner als!
Von sdh im Forum Office-AnwendungenAntworten: 0Letzter Beitrag: 01.06.04, 14:04





Zitieren
Login





