0Pricing
Java Academy · Lektion

Arrays.sort und Sortieren

Sortieren Sie primitive und Objekt-Arrays

Arrays.sort und Sortieren ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum eine Hilfsklasse

Arrays sind in Java Objekte, verfügen aber nur über sehr wenige integrierte Methoden. Die Klasse java.util.Arrays schließt diese Lücke mit statischen Hilfsmethoden zum Sortieren, Suchen, Vergleichen, Kopieren und Ausgeben von Arrays.

  • Importieren Sie sie mit import java.util.Arrays;
  • Jede Methode ist static, daher rufen Sie sie direkt über die Klasse auf: Arrays.sort(...)

Ein primitives Array sortieren

Arrays.sort(int[]) sortiert das Array direkt mit einem schnellen Dual-Pivot-Quicksort. Es gibt keinen Rückgabewert; das ursprüngliche Array wird neu angeordnet.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = {5, 2, 8, 1, 9, 3};
        Arrays.sort(nums);
        System.out.println(Arrays.toString(nums));
    }
}

Andere primitive Typen sortieren

Für jeden primitiven Typ gibt es überladene Varianten: double[], long[], char[] und weitere. Sie sortieren alle aufsteigend.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        double[] prices = {3.5, 1.2, 9.9, 0.5};
        Arrays.sort(prices);
        System.out.println(Arrays.toString(prices));
    }
}

Einen Bereich sortieren

Mit Arrays.sort(array, fromIndex, toIndex) können Sie nur einen Teil eines Arrays sortieren. Der Bereich umfasst fromIndex einschließlich und toIndex ausschließlich.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = {5, 2, 8, 1, 9, 3};
        Arrays.sort(nums, 1, 4);
        System.out.println(Arrays.toString(nums));
    }
}

Objektarrays sortieren

Bei Objektarrays wie String[] verwendet Arrays.sort die natürliche Ordnung der Elemente, also deren Comparable-Implementierung. Zeichenketten werden lexikografisch sortiert.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        String[] names = {"Charlie", "Alice", "Bob"};
        Arrays.sort(names);
        System.out.println(Arrays.toString(names));
    }
}

Mit einem Comparator sortieren

Um die natürliche Ordnung zu überschreiben, übergeben Sie einen Comparator. Comparator.reverseOrder() sortiert absteigend. Das funktioniert nur bei Objektarrays, nicht bei primitiven Arrays.

import java.util.Arrays;
import java.util.Comparator;

public class Main {
    public static void main(String[] args) {
        String[] names = {"Charlie", "Alice", "Bob"};
        Arrays.sort(names, Comparator.reverseOrder());
        System.out.println(Arrays.toString(names));
    }
}

Comparator nach Länge

Ein Comparator kann anhand jeder beliebigen Eigenschaft vergleichen. Comparator.comparingInt(String::length) sortiert Zeichenketten von der kürzesten bis zur längsten.

import java.util.Arrays;
import java.util.Comparator;

public class Main {
    public static void main(String[] args) {
        String[] words = {"banana", "fig", "apple"};
        Arrays.sort(words, Comparator.comparingInt(String::length));
        System.out.println(Arrays.toString(words));
    }
}

Stabilität

Das Sortieren von Objektarrays ist stabil: Gleiche Elemente behalten ihre ursprüngliche relative Reihenfolge. Für primitive Sortierungen ist die Stabilität nicht garantiert. Da gleiche primitive Werte jedoch nicht unterscheidbar sind, spielt das keine Rolle.

Paralleles Sortieren

Bei sehr großen Arrays teilt Arrays.parallelSort die Arbeit auf mehrere CPU-Kerne auf. Die API ist identisch mit der von sort; das Ergebnis ist dasselbe, bei großen Datenmengen geht es lediglich schneller.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] nums = {7, 3, 9, 1, 5, 2, 8, 4};
        Arrays.parallelSort(nums);
        System.out.println(Arrays.toString(nums));
    }
}

Ein häufiger Fallstrick

Arrays.sort gibt void zurück. Eine Zeile wie int[] sorted = Arrays.sort(nums); lässt sich nicht kompilieren. Sortieren Sie zuerst und verwenden Sie anschließend dieselbe Variable.

Sortieren und anschließend ausgeben

Ein typischer Ablauf: Sortieren Sie das Array direkt und geben Sie es anschließend mit Arrays.toString aus, um das Ergebnis zu überprüfen.

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] scores = {88, 72, 95, 60, 81};
        Arrays.sort(scores);
        System.out.println("Lowest:  " + scores[0]);
        System.out.println("Highest: " + scores[scores.length - 1]);
        System.out.println(Arrays.toString(scores));
    }
}

Schnelltest

Testen Sie Ihr Verständnis des Sortierens.

Zusammenfassung

Sie haben gelernt, Arrays mit der Hilfsklasse Arrays zu sortieren.

  • Arrays.sort(arr) sortiert primitive Werte oder Objekte direkt und aufsteigend.
  • Eine überladene Variante für Bereiche, sort(arr, from, to), sortiert einen Teil des Arrays.
  • Objektarrays akzeptieren einen Comparator für eine benutzerdefinierte Reihenfolge.
  • parallelSort beschleunigt das Sortieren großer Arrays.

Häufig gestellte Fragen

Ist die Lektion „Arrays.sort und Sortieren“ kostenlos?

Ja — der vollständige Text von „Arrays.sort und Sortieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Arrays.sort und Sortieren“?

Sortieren Sie primitive und Objekt-Arrays Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Java Academy zu starten?

Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Arrays.sort und Sortieren“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?

Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Arrays.sort und Sortieren
  2. Arrays.binarySearch
  3. Arrays.fill und copyOf
  4. Arrays.equals und toString
← Zurück zu Java Academy