ArrayList sortieren, so oder anders?

5 Antworten

Versuchs mal mit folgender Funktion

Collections.sort(liste);
Woher ich das weiß:Recherche

Ganz einfach :

Sortieren einer Liste :
Collections.sort(liste);
// Vergiss nicht, "Collections" zu importieren

Sortieren eines Arrays :
Arrays.sort(array);

Wie ist denn liste deklariert? Eine ArrayList kann man ja nicht mit primitiven Datentypen erstellen, daher denke ich mal es ist so gemacht:

ArrayList<Integer> liste = new ArrayList<Integer>();

Das müsstest du eigentlich mit Collections.sort(liste); sortieren können.

So, wie du es versuchst, funktioniert es nicht, weil in der ArrayList nur Objekte gespeichert werden können. Die Variable s1 müsste also ein Objekt der Integer-Klasse sein (Integer s1 = new Integer();) und den Vergleich müsstest du mit der compareTo-Methode machen. Außerdem kannst du bei einer ArrayList nicht mit den eckigen Klammern auf die einzelnen Objekte zugreifen, sondern müsstest mit der get-Methode arbeiten.

Probier einfach mal, ob es mit Collections.sort(liste); funktioniert. Wenn nicht, dann zeig uns ein bisschen mehr von deinem Code.

Da eine ArrayList kein Array ist, gibt es auch keinen Indexer. Die Schreibweise mit den eckigen Klammern ist einzig Arrays vorbehalten. Verwende die Methoden der Liste (get, add, insert). Schau für Weiteres in die API Referenz.