Sådan sorteres 2d Array i Java

Sadan Sorteres 2d Array I Java



Et todimensionelt eller 2D-array er en samling af kolonner og rækker. Programmører kan tilfældigt få adgang til 2D-array-elementerne eller hver celle individuelt ved at bruge deres indekser. Ved hjælp af sortering arrangeres array-elementer efter kravene, uanset om de er i stigende eller faldende rækkefølge. Mere specifikt, Java ' Array.sort() ” kan bruges til elementerne i et 2D-array i et program.

Denne tutorial vil diskutere, hvordan man sorterer 2D-arrays i Java.

Hvordan sorterer man 2D Array i Java?

I Java kan du sortere et 2D-array ved hjælp af:







Vi vil nu diskutere hver af de nævnte metoder en efter en.



Metode 1: Rækkevis sortering af 2D Array i Java

Ved rækkevis sortering kan du bruge ' Array.sort() ” metode til at sortere array-elementerne. Den itererer hvert element i en specifik række og bytter heltal, når det aktuelle element er større end det næste.



Lad os se et eksempel for at forstå implementeringssiden.





Eksempel
I dette eksempel vil vi først oprette en statisk metode ' rowWiseSorting() ' for at sortere arrayet i stigende rækkefølge ved at kalde ' Arrays.sort() ”-metoden i Arrays-klassen og udskriv derefter de sorterede elementer i array ved hjælp af “ til ' sløjfer:

statisk int rowWiseSortering ( int arr [ ] [ ] ) {
til ( int jeg = 0 ; jeg < arr. længde ; jeg ++ ) {
Arrays. sortere ( arr [ jeg ] ) ;
}
til ( int jeg = 0 ; jeg < arr. længde ; jeg ++ ) {
til ( int j = 0 ; j < arr [ jeg ] . længde ; j ++ ) {
System. ud . Print ( arr [ jeg ] [ j ] + ' ' ) ;
}
System. ud . println ( ) ;
}
Vend tilbage 0 ;
}

Her har vi et 2D-array ved navn ' arr ” af 3×3 matrixform (tre rækker og tre kolonner). Nu, for at sortere rækkerne i det oprettede array, kalder vi metoden ' rowWiseSorting() ” ved at sende array som et argument i main() metoden:



offentlig statisk ugyldig vigtigste ( Snor [ ] args ) {
int arr [ ] [ ] = ny int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , tyve } ,
{ 28 , 25 , 8 } ,
{ elleve , 5 , 1 } } ;
rowWiseSortering ( arr ) ;
}
}

Som du kan se, har vi sorteret vores array i stigende rækkefølge:

Vil du prøve kolonnevis sortering i Java? Tag et kig på følgende afsnit.

Metode 2: Kolonnevis sortering af 2D Array i Java

For at sortere et 2D-array i Java kolonnevis skal du kalde ' Arrays.sort() ' metode med en ' Komparator interface ”. En komparator-grænseflade definerer en ' sammenligne() ” metode, der accepterer to parametre og derefter sammenligner dem med hinanden. Hvis de beståede parametre er ens, returnerer det nul. Hvis den 1. parameter er større end den 2. parameter, returnerer den en positiv værdi. Hvis ikke, returneres en negativ værdi.

Eksempel
I dette eksempel vil vi oprette en metode med navnet ' columnWiseSorting() ' med to argumenter, et 2D-array ' arr[][] ' og et kolonnenummer med navnet ' oversigt ”. Ring derefter til ' Arrays.sort() ' metode med ' Komparator interface ” for at sammenligne værdierne af en kolonne. Til sidst vil vi udskrive værdierne for den sorterede kolonne af array ved hjælp af ' til ' sløjfer:

statisk ugyldig columnWiseSorting ( int arr [ ] [ ] , int oversigt ) {
Arrays. sortere ( arr , ny Komparator < int [ ] > ( ) {
offentlig int sammenligne ( int [ ] først , int [ ] scnd ) {
hvis ( først [ oversigt - 1 ] > scnd [ oversigt - 1 ] ) {
Vend tilbage 1 ;
}
andet Vend tilbage - 1 ;
}
} ) ;
}
til ( int jeg = 0 ; jeg < arr. længde ; jeg ++ ) {
til ( int j = 0 ; j < arr [ jeg ] . længde ; j ++ ) {
System. ud . Print ( arr [ jeg ] [ j ] + ' ' ) ;
}
System. ud . println ( ) ;
}

Vi vil bruge det allerede oprettede array med navnet ' arr ' og send den til ' columnWiseSorting() ' som første parameter og ' 1 ' som den anden parameter:

columnWiseSorting ( arr , 1 ) ;

Udførelse af det ovenfor givne program vil sortere den første kolonne i vores 2D-array:

Vi kompilerer al den væsentlige information for at sortere 2D-arrayet i Java.

Konklusion

I Java kan et 2D-array sorteres række- eller kolonnevis i henhold til kravene. Til rækkevis sortering bruges kun Array.sort() metoden; ved kolonnevis sortering kaldes Array.sort()-metoden dog med Comparator-grænsefladen. Til rækkevis sortering sendes ingen parameter til Array.sort() metoden, hvorimod i den kolonnevise sorteringsmetode er antallet af kolonner, der skal sorteres, nævnt som en parameter. Denne tutorial diskuterede metoderne til at sortere 2D-arrayet i Java med eksempler.