Sortieren einer Liste in Java

Lovey Arora 12 Oktober 2023
  1. Sortieren einer Liste in Java mit der Methode Collections.sort()
  2. Verwendung der Methode Collections.reverseorder() zum Sortieren einer Liste in Java
  3. Verwendung der Methode Stream.sorted() zum Sortieren einer Liste in Java
  4. Verwendung der Methode Comparator.naturalOrder() zum Sortieren einer Liste in Java
Sortieren einer Liste in Java

Eine Liste ist eine geordnete Sammlung und kann Elemente in beliebiger Reihenfolge speichern. Wir können traditionelle Algorithmen auf eine Liste anwenden.

Dieses Tutorial zeigt, wie Sie eine Liste in Java mit verschiedenen Funktionen sortieren.

Sortieren einer Liste in Java mit der Methode Collections.sort()

Wir können die Funktion sort() aus der Klasse Collection verwenden, um eine Liste zu sortieren. Wir können das Listenobjekt nehmen und es ändert die Reihenfolge der Elemente. Es sortiert die Liste in aufsteigender Reihenfolge.

Zum Beispiel,

import java.util.*;
import java.util.stream.*;

public class Main {
  public static void main(String[] args) {
    List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
    Collections.sort(slist);
    System.out.println("After Sorting: " + slist);
  }
}

Ausgabe:

After Sorting: [1, 2, 4, 5, 6, 8, 9]

Wir können sehen, dass die ursprüngliche Liste im obigen Code geändert und in der entsprechenden Reihenfolge sortiert wird.

Beachten Sie, dass die Liste die gleichen Elementtypen enthalten sollte. andernfalls wird CLassCastException ausgelöst.

Verwendung der Methode Collections.reverseorder() zum Sortieren einer Liste in Java

Wir verwenden die Methode Collections.reverseorder(), um die ArrayList absteigend zu sortieren. Wir verwenden diese Methode nicht direkt. Zuerst wird mit der Methode Collections.sort() aufsteigend sortiert und dann mit der Methode Collections.reverseorder() absteigend sortiert.

Siehe den Code unten.

import java.util.*;
import java.util.stream.*;

public class Main {
  public static void main(String[] args) {
    List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
    Collections.sort(slist, Collections.reverseOrder());
    System.out.println("After Sorting: " + slist);
  }
}

Ausgabe:

After Sorting: [9, 8, 6, 5, 4, 2, 1]

Wir haben im obigen Code eine Liste erstellt und diese dann mit der Methode Collections.sort() sortiert. Anschließend wird mit der Methode Collections.reverseorder() absteigend sortiert.

Verwendung der Methode Stream.sorted() zum Sortieren einer Liste in Java

Die Funktion sorted() ist in der Schnittstelle Stream definiert, die in java.util package vorhanden ist. Mit dieser Methode wird die Liste in aufsteigender Reihenfolge sortiert. Wenn die Elemente in der Liste nicht vom gleichen Typ sind, dann wirft es java.lang.ClassCastEcxeption.

Hier verwenden wir die Funktion stream(), um die Sammlung von Elementen in der Liste zu verwalten, collect() empfängt und speichert die Elemente und die Funktion tolist() gibt die endgültige Liste in sortierter Form zurück Auftrag.

Zum Beispiel,

import java.util.*;
import java.util.stream.*;

public class Main {
  public static void main(String[] args) {
    List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
    List<Integer> sortedList = slist.stream().sorted().collect(Collectors.toList());
    System.out.println("After Sorting: " + sortedList);
  }
}

Ausgabe:

After Sorting: [1, 2, 4, 5, 6, 8, 9]

Beachten Sie, dass im obigen Beispiel eine neue Liste erstellt wird.

Verwendung der Methode Comparator.naturalOrder() zum Sortieren einer Liste in Java

Die Schnittstelle Comparator in Java kann die Objekte der vom Benutzer erstellten Klassen nach dem gewünschten Datenelement sortieren. Wir können damit auch Listen sortieren.

Die Funktion naturalOrder() sortiert die Elemente in aufsteigender Reihenfolge.

Siehe den unten angegebenen Code.

import java.util.*;
import java.util.stream.*;

public class Main {
  public static void main(String[] args) {
    List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
    slist.sort(Comparator.naturalOrder());
    System.out.println("After Sorting: " + slist);
  }
}

Ausgabe:

After Sorting: [1, 2, 4, 5, 6, 8, 9]

Null-Elemente werden mit dieser Methode nach oben sortiert. Wenn es um Alphabete geht, werden Wörter, die mit Großbuchstaben beginnen, zuerst sortiert und dann die Wörter, die mit Kleinbuchstaben beginnen, in aufsteigender Reihenfolge.

Wir können die Funktion reverseOrder() verwenden, wie oben beschrieben, um in absteigender Reihenfolge zu sortieren.

Zum Beispiel,

import java.util.*;
import java.util.stream.*;
public class Main {
  public static void main(String[] args) {
    List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
    slist.sort(Comparator.reverseOrder());
    System.out.println("After Sorting: " + slist);
  }
}

Ausgabe:

After Sorting: [9, 8, 6, 5, 4, 2, 1]

Verwandter Artikel - Java List