Ich habe Klasse, in der ich eine Liste sortiere.Java-Sortierung mit anonymer Klasse
import java.util.*;
public class First
{
private static HashMap<String,Second> msgs;
public static void main(String[] args)
{
List<String> ls=new ArrayList<String>();
ls.add("fourth");
ls.add("2");
ls.add("second");
ls.add("first");
ls.add("third");
ls.add("1");
Iterator it=ls.iterator();
// before sorting
while(it.hasNext())
{
String s=(String)it.next();
System.out.println(s);
}
Collections.sort(ls, new Comparator(){
public int compare(Object o1, Object o2) {
return -1;
// it can also return 0, and 1
}
});
System.out.println(" ");
//after sorting
Iterator iti=ls.iterator();
while(iti.hasNext())
{
String s=(String)iti.next();
System.out.println(s);
}
}
}
Nachdem das Programm ausgeführt wird, erhalte ich diese Werte:
1
third
first
second
2
fourth
Meine Frage ist, was das Verhalten von Collection.sort ist() Funktion hier. Bei der Rückgabe von -1 aus der Vergleichsfunktion erhalten wir die umgekehrte Reihenfolge der Liste. Wie können wir andere Sortieraufträge bekommen? Welche Rolle spielt die Rückgabe von 0 und 1?
Was möchten Sie als Ausgabe wollen? –