how sort an array java tutorial with examples
Denne opplæringen vil forklare forskjellige metoder for å sortere en matrise i Java i stigende, synkende og alfabetisk rekkefølge ved hjelp av enkle eksempler:
Sortering ordner data i en bestemt rekkefølge. Datadata består av poster som består av ett eller flere felt. For å bruke data effektivt og utføre forskjellige operasjoner som å søke, få tilgang til osv., Anbefales det at disse dataene ordnes i en bestemt rekkefølge.
For eksempel, hvis det er mange poster med studentdata, kan vi ordne disse dataene avhengig av student-ID eller studentnavn. Dette blir betegnet som sortering. Derfor er sortering viktig for å bruke dataene mer effektivt og enkelt.
=> Besøk Java Training Tutorial Series her
I Java inneholder matriser data, og vi bør sortere disse dataene for å ordne dem i henhold til noen oppgitte kriterier. I denne opplæringen vil vi diskutere sorteringen av Arrays i detalj sammen med enkle eksempler.
Hva du vil lære:
Hvordan sortere en matrise i Java
Java gir følgende metoder for å sortere matriser.
- Bruk for løkker: Du kan bruke for løkker til å krysse matrisen og sammenligne tilstøtende elementer mens du krysser og ordner dem.
- Ved hjelp av sorteringsmetoden: Arrays-klassen til 'java.util' -pakken gir sorteringsmetoden som tar en matrise som et argument og sorterer matrisen. Dette er en direkte sorteringsmetode, og du kan sortere en matrise med bare en metodeanrop.
La oss utforske begge disse metodene i detalj.
Bruke løkker
Du kan sortere matrisen ved hjelp av manuell sortering som å bruke for løkker. Det du kan gjøre er å bruke to til løkker, en for å krysse matrisen fra start og en annen for løkke inne i den ytre for å krysse neste element.
I kroppen sammenligner du de tilstøtende elementene og bytter om de ikke er i orden. Du kan bruke en midlertidig variabel for bytte av elementer.
Programmet nedenfor viser denne tilnærmingen.
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 Produksjon:

Sortering ved hjelp av for loop kan være effektiv når mindre matriser er involvert. Det kan bli komplisert når matrisestørrelsen øker.
Sorteringsmetode
Sorteringsmetoden som tilbys av klassen ‘java.util.Arrays’ er en veldig enkel og raskere måte å sortere en matrise på. Denne metoden kan sortere elementer av primitive typer, så vel som objekter som implementerer det sammenlignbare grensesnittet.
Når primitive typeelementer blir sortert, bruker sorteringsmetoden kviksort. Når objekter blir sortert, brukes iterativ sammenslåing.
Den generelle prototypen for sorteringsmetode er som følger:
Arrays.sort (T[] t_arr);
Her er T [] datatypen og t_arr er matrisen som skal sorteres.
Ovennevnte prototype fungerer for matriser som implementerer sammenlignbart grensesnitt.
For matriser med tilpassede objekter kan du bruke en annen variant av Arrays.sort som gitt nedenfor .
Arrays.sort(T[] t_arr, Comparator.c);
Så for matriser som ikke implementerer sammenlignbart grensesnitt, bør en komparator sendes i sorteringsfunksjonen. Merk at som standard sorterer metoden sorteringen i stigende rekkefølge.
La oss se noen spesifikke eksempler på matrisesortering.
Sorter numerisk matrise i stigende rekkefølge
Den første demonstrasjonen er sortering av tallmatrise i stigende rekkefølge ved hjelp av sorteringsmetoder. Som allerede nevnt, sorterer sorteringsmetoden som standard matrisen i stigende rekkefølge. For å sortere en numerisk matrise i stigende rekkefølge, må du bare ringe metoden på den aktuelle matrisen.
Nedenfor er et eksempel for å vise dette.
alternativ til rengjøringsmiddel for Windows 10
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)); } }
Produksjon:

I programmet ovenfor sorterer bare en funksjonsanrop matrisen i stigende rekkefølge.
Sorter numerisk array i synkende rekkefølge
Neste oppgave er å sortere den numeriske matrisen i synkende rekkefølge. For å gjøre dette er sorteringsmetoden utstyrt med et andre argument ‘Collections.reverseOrder ()’ som sorterer en matrise i synkende rekkefølge.
Program for å sortere matrisen i synkende rekkefølge er gitt nedenfor.
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)); } }
Produksjon:

Sorter strengrekke i alfabetisk rekkefølge
Akkurat som numeriske matriser, kan du også sortere strengarray ved hjelp av sorteringsfunksjonen. Når du passerer strengmatrisen, sorteres matrisen i stigende alfabetisk rekkefølge. For å sortere matrisen i fallende alfabetisk rekkefølge, bør du oppgi samlegrensesnittmetoden reverseOrder () som det andre argumentet.
Det følgende programmet viser sorteringen av en strengmatrise i stigende og fallende rekkefølge.
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)); } }
Produksjon:

Utgangen av programmet viser et sortert utvalg av strenger i både stigende og fallende rekkefølge.
ofte stilte spørsmål
Q # 1) Hva er sortering i Java?
Svar: Sortering refererer til å ordne data i rekkefølge, enten alfabetisk eller numerisk.
Q # 2) Hvilken sorteringsteknikk brukes i Arraysortering i Java?
Svar: Arrays bruker Quicksort med to pivoter for primitive datatyper og Mergesort for å sortere objekter.
Q # 3) Hva er en Comparator i Java?
Svar: Comparator-grensesnitt er en del av java.util-pakken og brukes til å ordne brukerdefinerte objekter. Komparatorgrensesnitt brukes hovedsakelig under sortering av objekter ved hjelp av sorteringsmetoden.
Q # 4) Hva er bruken av Sortering i Java?
Svar: Sortering er en teknikk for å ordne data i en bestemt rekkefølge. Sortering av data er nyttig ettersom vi kan søke etter data mer effektivt og raskt. Vi kan også enkelt utføre andre operasjoner som tilgang, lagring, etc. på de bestilte dataene.
Q # 5) Er det mulig å sortere lister i Java?
Svar: Ja. Lister er en del av Collections-grensesnittet i Java, og vi kan bruke sort () -metoden i Collections-grensesnittet for å sortere listen.
Konklusjon
Dette fullfører vår diskusjon om sortering av matriser i Java. Vi har diskutert de forskjellige metodene for å sortere matriser i Java inkludert de som tilbys av Java-pakker, samt den tradisjonelle metoden for å bruke ‘for’ løkker til å sortere matriseelementer en etter en.
Vi så hvordan vi kan sortere en matrise i stigende og synkende rekkefølge. Så lærte vi hvordan vi kunne sortere en strengmatrise i alfabetisk rekkefølge.
Vi vil fortsette å utforske flere emner om matriser i Java i de påfølgende opplæringene.
=> Se de komplette Java-opplæringene for alle her
Anbefalt lesing
- Java Array Length Tutorial With Code Eksempler
- Omvend en matrise i Java - 3 metoder med eksempler
- JAVA-opplæring for nybegynnere: 100+ praktiske Java-videoveiledninger
- Java Reflection Tutorial med eksempler
- Java Generic Array - Hvordan simulere generiske matriser i Java?
- Java 'dette' nøkkelord: Opplæring med kodeeksempler
- Hvordan sende / returnere en matrise i Java
- Java Array - Hvordan skrive ut elementer av en array i Java?