ArrayList sortieren

Das Sortieren einer ArrayList bzw. einer List im Allgemeinen ist in Java recht einfach mit der Util-Methode Collections.sort() möglich.

Beispiel

Das folgende Beispiel sortiert eine Liste von Strings:

List<String> list = new ArrayList<>();
list.add("Freistädter");
list.add("Zipfer");
list.add("Schnaitl");
list.add("Brauhaus Gusswerk");

Collections.sort(list);

System.out.println(list);
// [Brauhaus Gusswerk, Freistädter, Schnaitl, Zipfer]

Grundsätzlich sortiert diese Methode nach der natürlichen Ordnung der Elemente. Die natürliche Ordnung ist grundsätzlich jene, die Java für die Klasse vorgesehen hat. Für Strings ist das die Reihenfolge der Unicode-Codes der einzelnen Zeichen.

Eigene Reihenfolge definieren

Die Reihenfolge mit der sortiert werden soll kann durch den Entwickler überschrieben werden, indem die Klasse das Interface Comparable implementiert, oder der Methode Collections.sort() zusätzlich ein Comparator übergeben wird:

Collections.sort(list, new Comparator<String>() {
    @Override
    public int compare(String o1, String o2) {
        return o1.compareTo(o2) * -1;
    }
});

System.out.println(list);
// [Zipfer, Schnaitl, Freistädter, Brauhaus Gusswerk]

Genauere Infos im Artikel über Comparator und Comparable.


Ähnliche Artikel