Ich habe eine Aufgabe, um ein Register für eine Klasse von CDs (String-Künstler, String-Titel) zu machen, und eine der Notwendigkeiten in der Zuordnung war die Reihenfolge der Elemente zu ändern nach Titel statt nach Künstlern (alphabetisch). Wenn ich versuche, den Code unten zu verwenden, erhalte ich jedoch Duplikate einiger Strings. Gibt es jemanden, der mir helfen könnte? : PJava, Probleme mit zurückgegebenen String
private ArrayList<CD> reg;
String showSortedTitles() {
String sortedTitles;
StringBuilder sb = new StringBuilder();
ArrayList<CD> temp = new ArrayList<CD>();
temp.add(reg.get(0));
for (int i = 1; i < reg.size(); i++) {
String beftitle = temp.get(i - 1).getTitle();
String newTitle = reg.get(i).getTitle();
if ((newTitle.compareTo(beftitle) < 0)) {
for (int k = 0; k < temp.size(); k++) {
if (newTitle.equals(temp.get(k).getTitle())) {
temp.remove(k);
}
if (newTitle.compareTo(temp.get(k).getTitle()) < 0) {
temp.add(k, reg.get(i));
break;
} else {
temp.add(reg.get(i));
}
}
}
}
for (int i = 0; i < temp.size(); i++) {
CD cd = temp.get(i);
sb.append(cd.getArtist() + (char) ' ' + (char) '-' + (char) ' ' + cd.getTitle() + (char) '\n');
}
sortedTitles = sb.toString();
return sortedTitles;
}
Nur Collections.sort mit einem Vergleicher verwenden. (Sofern nicht explizit erwähnt, dass Sie Ihren eigenen Sortieralgorithmus implementieren sollen) – wvdz
http://StackOverflow.com/Questions/18441846/How-to-sort-an-arlylist-in-java – fantaghirocco