Java array absteigend sortieren?
Wie kann ich einen int array absteigend sortieren? Danke
3 Antworten
Arrays.sort() ist aufsteigend, ich möchte den array aber absteigend sortieren
Bei den sort Methoden von Arrays gibt es auch eine Methode, die es dir erlaubt einen Komparator zu verwenden.
Wie ich in einer deiner Kommentare bereits gelesen hast, bist du sogar schon darauf gestoßen.
Collections.reverseOrder() stellt dir bereits diesen Komparator zur Verfügung:
Integer[] arr = {2, 3, 1}; Arrays.sort(arr, Collections.reverseOrder());
https://stackoverflow.com/questions/8938235/java-sort-an-array
Wenn du allgemein meinst, dann wäre "Arrays.sort()" wohl ne Option.
Ohne mir die Methoden bzw. Parameter angesehen zu haben:
Nimm das absteigend sortierte Array, schmeiß es in ne for-Schleife und lasse es in ein neues Array in verkehrter Reihenfolge eintragen ;)
Als Beispiel kannste dir die 2. for-Schleife von "Peter Lawrey" auf Stackoverflow angucken. Du musst lediglich den Inhalt der Schleife anpassen und es nicht ausgeben, sondern die Werte in ein neues Array geben.
An anderer Stelle wird auch noch "Arrays.reverse()" erwähnt. Allerdings kann ich dazu nichts weiter finden und habe atm. auch noch keine IDE installiert ;)
Am Ende gibt es auch noch, wie "KnusperPudding" hier bereits erwähnte, die Möglichkeit einen Komparator zu verwenden ^^.
Nimm z.B. einen Sortieralgorithmus wie Bubble sort, Gnome sort oder den Schnellen Quicksort.
ich habe gelesen, dass man mit Collections.reverseOrder() auch was machen kann, nur bei mir geht das irgendwie nicht. sry...bin java Anfänger
Bei kleineren Arrays kannst du Element 0 und 1 vergleichen und gegebenenfalls vertauschen, danach 1 und 2, 2 und 3. Das geht mit einer for-Schleife bis zum Ende und danach fängt das Ganze wieder von Vorne an. Nach maximal n (Anzahl der Elemente im Array) durchgängen ist das Array Sortiert. Bei weiteren Fragen frag einfach.
Arrays.sort() ist aufsteigend, ich möchte den array aber absteigend sortieren