Hallo,
ich habe hier eine Liste, die ich nach description sortiert haben möchte;
(Beispiel code)
Price besteht aus
String description;
float price;
LinkedList list = new LinkedList();
Price p1 = new Price();
p1.setDescription("Deutschland");
p1.setPrice(1.0F);
list.add(p1);
Price p2 = new Price();
p2.setDescription("Zypern");
p2.setPrice(1.0F);
list.add(p2);
Price p3 = new Price();
p3.setDescription("Österreich");
p3.setPrice(1.0F);
list.add(p3);
Price p4 = new Price();
p4.setDescription("Australien");
p4.setPrice(1.0F);
list.add(p4);
for (Price price : list) {
System.out.println(price.description);
}
System.out.println("===========================");
Collections.sort(list, new Comparator() {
public int compare(Object o1, Object o2) {
String desc1 = ((Price) o1).getDescription();
String desc2 = ((Price) o2).getDescription();
return desc1.compareTo(desc2);
}
});
for (Price price : list) {
System.out.println(price.description);
}
das ergibt folgende Ausgabe:
Deutschland
Zypern
Österreich
Australien
===========================
Australien
Deutschland
Zypern
Österreich
Ich muss aber nach Locale sortieren. Aber ich weiss nicht, wie ich die sort-Methode schreiben muss.
Collator instance = Collator.getInstance(Locale.GERMANY);
/\*
Fehlerhaft: java.lang.ClassCastException: Price
Collections.sort(list, instance);
for (Price price : list) {
System.out.println(price.description);
}
\*/
Jemand eine Idee?
Steffi