how sort an array java tutorial with examples
Denna handledning kommer att förklara olika metoder för att sortera en matris i Java i stigande, fallande och alfabetisk ordning med hjälp av enkla exempel:
Sortering ordnar data i en specifik ordning. Datadata består av poster som består av ett eller flera fält. För att använda data effektivt och utföra olika operationer som sökning, åtkomst etc. rekommenderas att dessa data ordnas i någon specifik ordning.
Till exempel, om det finns många register över studentdata kan vi ordna dessa uppgifter beroende på student-id eller studentnamn. Detta kallas sortering. Därför är sortering viktigt för att använda data mer effektivt och enkelt.
=> Besök Java Training Tutorial Series här
I Java innehåller matriser data och vi bör sortera dessa data för att ordna dem enligt vissa angivna kriterier. I denna handledning kommer vi att diskutera sorteringen av Arrays i detalj tillsammans med enkla exempel.
Vad du kommer att lära dig:
Hur man sorterar en matris i Java
Java tillhandahåller följande metoder för att sortera matriserna.
- Användning för loopar: Du kan använda för loopar för att korsa arrayen och jämföra närliggande element medan du korsar och ordnar dem.
- Använda sorteringsmetoden: Arrays-klassen i paketet 'java.util' tillhandahåller sorteringsmetoden som tar en matris som ett argument och sorterar matrisen. Detta är en direkt sorteringsmetod och du kan sortera en matris med bara ett metodanrop.
Låt oss utforska båda dessa metoder i detalj.
Använda loopar
Du kan sortera matrisen med manuell sortering som att använda för loopar. Vad du kan göra är att använda två för loopar, en för att korsa arrayen från början och en annan för loop inuti den yttre för att korsa nästa element.
I kroppen jämför du de intilliggande elementen och byter om de inte är i ordning. Du kan använda en tillfällig variabel för byte av element.
Programmet nedan visar detta tillvägagångssätt.
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 Produktion:

Sortering med hjälp av for loop kan vara effektiv när mindre matriser är inblandade. Det kan bli komplicerat när gruppens storlek ökar.
Sortera metod
Sorteringsmetoden som tillhandahålls av klassen ‘java.util.Arrays’ är ett mycket enkelt och snabbare sätt att sortera en matris. Denna metod kan sortera element av primitiva typer samt objekt som implementerar det jämförbara gränssnittet.
När element av primitiv typ sorteras använder sorteringsmetoden quicksort. När objekt sorteras används iterativ sammanslagning.
Den allmänna prototypen för sorteringsmetod är följande:
Arrays.sort (T() t_arr);
Här är T () datatypen och t_arr är den matris som ska sorteras.
Ovanstående prototyp fungerar för arrays som implementerar jämförbart gränssnitt.
För matriser med anpassade objekt kan du använda en annan variant av Arrays.sort enligt nedan .
Arrays.sort(T() t_arr, Comparator.c);
Så för matriserna som inte implementerar jämförbart gränssnitt ska en komparator skickas i sorteringsfunktionen. Observera att som standard sorterar metoden sorteringen i stigande ordning.
Låt oss se några specifika exempel på array-sortering.
Sortera numerisk matris i stigande ordning
Den första demonstrationen är sortering av nummeruppsättning i stigande ordning med hjälp av sorteringsmetoder. Som redan nämnts sorterar sorteringsmetoden som standard matrisen i stigande ordning. Således, för att sortera en numerisk array i stigande ordning, behöver du bara anropa metoden på arrayen i fråga.
Nedan ges ett exempel för att visa detta.
bästa programvaran för att övervaka CPU-temperaturen
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)); } }
Produktion:

I ovanstående program sorterar bara ett funktionsanrop matrisen i stigande ordning.
Sortera numerisk matris i fallande ordning
Nästa uppgift är att sortera den numeriska matrisen i fallande ordning. För att göra detta är sorteringsmetoden försedd med ett andra argument 'Collections.reverseOrder ()' som sorterar en matris i fallande ordning.
Program för att sortera array i fallande ordning ges nedan.
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)); } }
Produktion:

Sortera strängmatris i alfabetisk ordning
Precis som numeriska matriser kan du också sortera strängmatrix med hjälp av sorteringsfunktionen. När du passerar strängmatrisen sorteras matrisen i stigande alfabetisk ordning. För att sortera matrisen i fallande alfabetisk ordning bör du ange samlingsgränssnittsmetoden reverseOrder () som det andra argumentet.
Följande program visar sorteringen av en strängmatris i stigande såväl som fallande ordning.
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)); } }
Produktion:

Programmets utdata visar en sorterad rad strängar i både stigande och fallande ordning.
Vanliga frågor
F # 1) Vad är sortering i Java?
Svar: Sortering avser ordna data i ordning antingen alfabetiskt eller numeriskt.
F # 2) Vilken sorteringsteknik används i arraysortering i Java?
Svar: Arrays använder Quicksort med dubbla svängar för primitiva datatyper och Mergesort för att sortera objekt.
F # 3) Vad är en komparator i Java?
Svar: Comparator-gränssnittet är en del av paketet java.util och används för att ordna användardefinierade objekt. Comparator-gränssnittet används oftast vid sortering av objekt med hjälp av sorteringsmetoden.
F # 4) Vad är användningen av sortering i Java?
Svar: Sortering är en teknik för att ordna data i en viss ordning. Sortering av data är användbar eftersom vi kan söka efter data mer effektivt och snabbt. Vi kan också enkelt utföra andra operationer som åtkomst, lagring etc. på beställd data.
F # 5) Är det möjligt att sortera listor i Java?
Svar: Ja. Listor är en del av samlingsgränssnittet i Java och vi kan använda sort () -metoden i samlingsgränssnittet för att sortera listan.
Slutsats
Detta kompletterar vår diskussion om sortering av matriser i Java. Vi har diskuterat de olika metoderna för att sortera matriser i Java inklusive de som tillhandahålls av Java-paket liksom den traditionella metoden att använda 'for' loopar för att sortera matriselement en efter en.
Vi såg hur man sorterar en matris i stigande och fallande ordning. Sedan lärde vi oss att sortera en strängmatris i alfabetisk ordning.
Vi kommer att fortsätta att utforska fler ämnen om matriser i Java i våra efterföljande handledning.
=> Se de fullständiga Java-självstudierna för alla här
Rekommenderad läsning
- Java Array Length Tutorial With Code Exempel
- Omvänd en matris i Java - 3 metoder med exempel
- JAVA-handledning för nybörjare: 100+ praktiska Java-videohandledning
- Java Reflection Tutorial med exempel
- Java Generic Array - Hur man simulerar generiska arrays i Java?
- Java 'detta' Nyckelord: Handledning med kodexempel
- Hur man skickar / returnerar en matris i Java
- Java Array - Hur man skriver ut delar av en array i Java?