The_Answer1985
Erfahrenes Mitglied
Hallo alle miteinander,
ich habe in einer GUI eine Suche, die eine ArrayList nach bestimmten Kriterien und Suchbegriffen durchsucht.
Wurde eine Überinstummung gefunden, soll das Element aus der ArrayList einer weiteren ArrayList namens "Suchergebnisse" hinzugefügt werden.
Das klappt soweit, nur, dass die Elemente leider doppelt hinzugefügt werden.
Meine Frage
ist/sind nun:
- kann jm. einen Fehler entdecken, dass dazu führt, dass das Element doppelt hinzugefügt wird oder
- könnt ihr mir ein kleines Code-Bsp geben, wie ich aus dieser ArrayList Doppelwerte entfernen kann?
Danke für eure Hilfe und Geduld.
Liebe Grüße
ich habe in einer GUI eine Suche, die eine ArrayList nach bestimmten Kriterien und Suchbegriffen durchsucht.
Wurde eine Überinstummung gefunden, soll das Element aus der ArrayList einer weiteren ArrayList namens "Suchergebnisse" hinzugefügt werden.
Das klappt soweit, nur, dass die Elemente leider doppelt hinzugefügt werden.
Code:
for(int i = 0; i <= datensaetze.size() - 1; i++){
Object einDatensatz = datensaetze.get(i);
String kdnr = String.valueOf(((DBDatensatz) einDatensatz).getkdNr());
String name = String.valueOf(((DBDatensatz) einDatensatz).getName());
String strasse = String.valueOf(((DBDatensatz) einDatensatz).getStrasse());
String ort = String.valueOf(((DBDatensatz) einDatensatz).getOrt());
switch(suchkriterium){
case 0: {
if(suchbedingung == 0 && suchbegriff.equals(kdnr)){
setSuchergebnisse(einDatensatz);
dispose();
return suchergebnisse;
}
else if(suchbedingung == 1 && kdnr.contains(suchbegriff)){
setSuchergebnisse(einDatensatz);
dispose();
return suchergebnisse;
}
else if((suchbedingung == 2 && kdnr.startsWith(suchbegriff))){
setSuchergebnisse(einDatensatz);
dispose();
return suchergebnisse;
}
else{
return null;
}
}
case 1: {
if(suchbedingung == 0 && suchbegriff.equals(name)){
setSuchergebnisse(einDatensatz);
dispose();
return suchergebnisse;
}
else if(suchbedingung == 1 && name.contains(suchbegriff)){
setSuchergebnisse(einDatensatz);
dispose();
return suchergebnisse;
}
else if((suchbedingung == 2 && name.startsWith(suchbegriff))){
setSuchergebnisse(einDatensatz);
dispose();
return suchergebnisse;
}
else{
return null;
}
}
case 2: {
if(suchbedingung == 0 && suchbegriff.equals(strasse)){
setSuchergebnisse(einDatensatz);
dispose();
return suchergebnisse;
}
else if(suchbedingung == 1 && strasse.contains(suchbegriff)){
setSuchergebnisse(einDatensatz);
dispose();
return suchergebnisse;
}
else if((suchbedingung == 2 && strasse.startsWith(suchbegriff))){
setSuchergebnisse(einDatensatz);
dispose();
return suchergebnisse;
}
else{
return null;
}
}
case 3: {
if(suchbedingung == 0 && suchbegriff.equals(ort)){
setSuchergebnisse(einDatensatz);
dispose();
return suchergebnisse;
}
else if(suchbedingung == 1 && ort.contains(suchbegriff)){
setSuchergebnisse(einDatensatz);
dispose();
return suchergebnisse;
}
else if((suchbedingung == 2 && ort.startsWith(suchbegriff))){
setSuchergebnisse(einDatensatz);
dispose();
return suchergebnisse;
}
else{
return null;
}
}
}
}
}
Meine Frage

- kann jm. einen Fehler entdecken, dass dazu führt, dass das Element doppelt hinzugefügt wird oder
- könnt ihr mir ein kleines Code-Bsp geben, wie ich aus dieser ArrayList Doppelwerte entfernen kann?
Danke für eure Hilfe und Geduld.
Liebe Grüße