how sort an array java tutorial with examples
In diesem Tutorial werden verschiedene Methoden zum Sortieren eines Arrays in Java in aufsteigender, absteigender und alphabetischer Reihenfolge anhand einfacher Beispiele erläutert:
Durch das Sortieren werden die Daten in einer bestimmten Reihenfolge angeordnet. Computerdaten bestehen aus Datensätzen, die aus einem oder mehreren Feldern bestehen. Um Daten effizient zu nutzen und verschiedene Vorgänge wie Suchen, Zugreifen usw. auszuführen, ist es ratsam, diese Daten in einer bestimmten Reihenfolge anzuordnen.
Zum Beispiel, Wenn es zahlreiche Datensätze mit Schülerdaten gibt, können wir diese Daten abhängig von der Schüler-ID oder dem Schülernamen anordnen. Dies wird als Sortieren bezeichnet. Daher ist das Sortieren wichtig, um die Daten effizienter und einfacher zu nutzen.
=> Besuchen Sie hier die Java Training Tutorial Series
In Java enthalten Arrays Daten, und wir sollten diese Daten sortieren, um sie nach bestimmten Kriterien anzuordnen. In diesem Tutorial werden wir die Sortierung von Arrays anhand einfacher Beispiele ausführlich erläutern.
Was du lernen wirst:
So sortieren Sie ein Array in Java
Java bietet die folgenden Methoden zum Sortieren der Arrays.
- Verwenden von For-Schleifen: Sie können for-Schleifen verwenden, um das Array zu durchlaufen und benachbarte Elemente zu vergleichen, während Sie sie durchlaufen und in Reihenfolge bringen.
- Verwenden der Sortiermethode: Die Arrays-Klasse des Pakets 'java.util' stellt die Sortiermethode bereit, die ein Array als Argument verwendet und das Array sortiert. Dies ist eine direkte Sortiermethode, und Sie können ein Array mit nur einem Methodenaufruf sortieren.
Lassen Sie uns beide Methoden im Detail untersuchen.
Verwenden von Schleifen
Sie können das Array manuell sortieren, z. B. for-Schleifen. Sie können zwei for-Schleifen verwenden, eine zum Durchlaufen des Arrays von Anfang an und eine for-Schleife innerhalb des äußeren, um das nächste Element zu durchlaufen.
Im Körper vergleichen Sie die benachbarten Elemente und tauschen sie aus, wenn sie nicht in Ordnung sind. Sie können eine temporäre Variable zum Austauschen von Elementen verwenden.
Das folgende Programm zeigt diesen Ansatz.
public class Main { public static void main(String() args) { //define original array int () intArray = new int () {52,45,32,64,12,87,78,98,23,7}; int temp = 0; //print original array System.out.println('Original array: '); for (int i = 0; i Ausgabe:
Das Sortieren mit for-Schleife kann effizient sein, wenn kleinere Arrays beteiligt sind. Es kann kompliziert werden, wenn die Arraygröße zunimmt.
Sortiermethode
Die von der Klasse 'java.util.Arrays' bereitgestellte Sortiermethode ist eine sehr einfache und schnellere Methode zum Sortieren eines Arrays. Diese Methode kann Elemente primitiver Typen sowie Objekte sortieren, die die vergleichbare Schnittstelle implementieren.
Wenn primitive Typelemente sortiert werden, verwendet die Sortiermethode Quicksort. Wenn Objekte sortiert werden, wird iteratives Mergesort verwendet.
Der allgemeine Prototyp der Sortiermethode lautet wie folgt:
Arrays.sort (T() t_arr);
Hier ist T () der Datentyp und t_arr ist das Array, das sortiert werden soll.
Der obige Prototyp funktioniert für Arrays, die eine vergleichbare Schnittstelle implementieren.
Für Arrays von benutzerdefinierten Objekten können Sie eine andere Variante von Arrays.sort verwenden, wie unten angegeben .
Arrays.sort(T() t_arr, Comparator.c);
Für Arrays, die keine vergleichbare Schnittstelle implementieren, sollte daher ein Komparator in der Sortierfunktion übergeben werden. Beachten Sie, dass die Sortiermethode das Array standardmäßig in aufsteigender Reihenfolge sortiert.
Sehen wir uns einige spezifische Beispiele für die Sortierung von Arrays an.
Numerisches Array in aufsteigender Reihenfolge sortieren
Die erste Demonstration ist das Sortieren des Zahlenarrays in aufsteigender Reihenfolge mithilfe von Sortiermethoden. Wie bereits erwähnt, sortiert die Sortiermethode das Array standardmäßig in aufsteigender Reihenfolge. Um ein numerisches Array in aufsteigender Reihenfolge zu sortieren, müssen Sie nur die Methode für das betreffende Array aufrufen.
Im Folgenden finden Sie ein Beispiel, um dies zu zeigen.
Was ist Regressionstest beim Testen von Software?
import java.util.Arrays; public class Main { public static void main(String() args) { //define an array int() intArray = {52, 45, 32, 64, 12, 87, 78, 98, 23, 7}; System.out.printf('Original Array : %s', Arrays.toString(intArray)); Arrays.sort(intArray); System.out.printf('
Sorted Array : %s', Arrays.toString(intArray)); } }
Ausgabe:
Im obigen Programm sortiert nur ein Funktionsaufruf das Array in aufsteigender Reihenfolge.
Numerisches Array in absteigender Reihenfolge sortieren
Die nächste Aufgabe besteht darin, das numerische Array in absteigender Reihenfolge zu sortieren. Zu diesem Zweck wird der Sortiermethode ein zweites Argument 'Collections.reverseOrder ()' bereitgestellt, mit dem ein Array in absteigender Reihenfolge sortiert wird.
Das Programm zum Sortieren des Arrays in absteigender Reihenfolge ist unten angegeben.
import java.util.Arrays; import java.util.Collections; public class Main { public static void main(String() args) { //Collections.reverseOrder do not work for primitive Types //define an array with Integer Integer() IntArray = {52, 45, 32, 64, 12, 87, 78, 98, 23, 7}; //print original array System.out.printf('Original Array: %s', Arrays.toString(IntArray)); // Sorts IntArray in descending order Arrays.sort(IntArray, Collections.reverseOrder()); //print sorted array System.out.printf('
Sorted Array: %s', Arrays.toString(IntArray)); } }
Ausgabe:
Sortieren Sie das String-Array in alphabetischer Reihenfolge
Genau wie bei numerischen Arrays können Sie auch String-Arrays mit der Sortierfunktion sortieren. Wenn Sie das String-Array übergeben, wird das Array in aufsteigender alphabetischer Reihenfolge sortiert. Um das Array in absteigender alphabetischer Reihenfolge zu sortieren, sollten Sie die Collections-Schnittstellenmethode reverseOrder () als zweites Argument angeben.
Das folgende Programm demonstriert das Sortieren eines String-Arrays in aufsteigender und absteigender Reihenfolge.
import java.util.Arrays; import java.util.Collections; public class Main { public static void main(String() args) { String str_Array() = {'Java', 'Python', 'Perl', 'C++', 'C#', 'AS400'}; System.out.printf('Original Array:
%s
', Arrays.toString(str_Array)); // Sorts str_Array in ascending order Arrays.sort(str_Array); System.out.printf('Array sorted in ascending order:
%s
', Arrays.toString(str_Array)); // Sorts str_Array in descending order Arrays.sort(str_Array, Collections.reverseOrder()); System.out.printf('Array sorted in descending order :
%s
', Arrays.toString(str_Array)); } }
Ausgabe:
Die Ausgabe des Programms zeigt ein sortiertes Array von Zeichenfolgen sowohl in aufsteigender als auch in absteigender Reihenfolge.
Häufig gestellte Fragen
F # 1) Was ist Sortieren in Java?
Antworten: Sortieren bezieht sich auf das Anordnen von Daten in alphabetischer oder numerischer Reihenfolge.
F # 2) Welche Sortiertechnik wird bei der Arraysortierung in Java verwendet?
Antworten: Arrays verwenden Quicksort mit zwei Pivots für primitive Datentypen und Mergesort zum Sortieren von Objekten.
F # 3) Was ist ein Komparator in Java?
Antworten: Die Komparatorschnittstelle ist Teil des Pakets java.util und wird zum Anordnen der benutzerdefinierten Objekte verwendet. Die Komparatorschnittstelle wird hauptsächlich beim Sortieren von Objekten mithilfe der Sortiermethode verwendet.
F # 4) Was ist die Verwendung der Sortierung in Java?
Antworten: Das Sortieren ist eine Technik zum Anordnen von Daten in einer bestimmten Reihenfolge. Das Sortieren von Daten ist nützlich, da wir effizienter und schneller nach Daten suchen können. Wir können auch problemlos andere Vorgänge wie den Zugriff, die Speicherung usw. auf die bestellten Daten ausführen.
F # 5) Ist es möglich, Listen in Java zu sortieren?
Antworten: Ja. Listen sind Teil der Collections-Oberfläche in Java, und wir können die sort () -Methode der Collections-Schnittstelle verwenden, um die Liste zu sortieren.
Fazit
Damit ist unsere Diskussion über das Sortieren von Arrays in Java abgeschlossen. Wir haben die verschiedenen Methoden zum Sortieren von Arrays in Java erläutert, einschließlich der von Java-Paketen bereitgestellten, sowie die traditionelle Methode zum Verwenden von for-Schleifen, um Array-Elemente einzeln zu sortieren.
Wir haben gesehen, wie man ein Array in aufsteigender und absteigender Reihenfolge sortiert. Dann haben wir gelernt, wie man ein String-Array in alphabetischer Reihenfolge sortiert.
In unseren nachfolgenden Tutorials werden wir weitere Themen zu Arrays in Java untersuchen.
=> Hier finden Sie die vollständigen Java-Tutorials für alle
Literatur-Empfehlungen
- Java Array Length Tutorial mit Codebeispielen
- Ein Array in Java umkehren - 3 Methoden mit Beispielen
- JAVA-Tutorial für Anfänger: Über 100 praktische Java-Video-Tutorials
- Java Reflection Tutorial mit Beispielen
- Java Generic Array - Wie simuliere ich generische Arrays in Java?
- Java 'this' Schlüsselwort: Tutorial mit Codebeispielen
- Übergeben / Zurückgeben eines Arrays in Java
- Java Array - Wie drucke ich Elemente eines Arrays in Java?