Kako sortirati 2d niz u Javi

Kako Sortirati 2d Niz U Javi



Dvodimenzionalni ili 2D niz zbirka je stupaca i redaka. Programeri mogu nasumično pristupiti elementima 2D niza ili svakoj ćeliji pojedinačno korištenjem njihovih indeksa. Uz pomoć sortiranja, elementi niza se raspoređuju prema zahtjevima, bilo u uzlaznom ili silaznom redoslijedu. Točnije, Java ' Array.sort() ” može se koristiti za elemente 2D niza unutar programa.

U ovom vodiču raspravljat ćemo o tome kako sortirati 2D nizove u Javi.

Kako sortirati 2D niz u Javi?

U Javi možete sortirati 2D niz koristeći:







Sada ćemo razmotriti svaku od spomenutih metoda jednu po jednu.



Metoda 1: Sortiranje 2D niza u Javi prema redovima

U sortiranju po redovima možete koristiti ' Array.sort() ” za sortiranje elemenata niza. Iterira svaki element određenog retka i mijenja cijele brojeve kada je trenutni element veći od sljedećeg.



Pogledajmo primjer kako bismo razumjeli stranu implementacije.





Primjer
U ovom primjeru, prvo ćemo stvoriti statičku metodu ' Redak WiseSorting() ” za sortiranje niza uzlaznim redoslijedom pozivanjem „ Arrays.sort() ” klase Arrays i zatim ispišite sortirane elemente niza pomoću “ za ” petlje:

statički int rowWiseSorting ( int arr [ ] [ ] ) {
za ( int ja = 0 ; ja < arr. duljina ; ja ++ ) {
Nizovi. vrsta ( arr [ ja ] ) ;
}
za ( int ja = 0 ; ja < arr. duljina ; ja ++ ) {
za ( int j = 0 ; j < arr [ ja ] . duljina ; j ++ ) {
Sustav. van . ispisati ( arr [ ja ] [ j ] + ' ' ) ;
}
Sustav. van . println ( ) ;
}
povratak 0 ;
}

Ovdje imamo 2D niz pod nazivom ' arr ” matričnog oblika 3×3 (tri retka i tri stupca). Sada ćemo za sortiranje redaka kreiranog niza pozvati metodu “ Redak WiseSorting() ” prosljeđivanjem polja kao argumenta u metodi main():



javnost statički poništiti glavni ( Niz [ ] args ) {
int arr [ ] [ ] = novi int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , dvadeset } ,
{ 28 , 25 , 8 } ,
{ jedanaest , 5 , 1 } } ;
rowWiseSorting ( arr ) ;
}
}

Kao što vidite, poredali smo naš niz uzlaznim redoslijedom:

Želite li isprobati sortiranje po stupcima u Javi? Pogledajte sljedeći odjeljak.

Metoda 2: Razvrstavanje 2D polja u Javi po stupcima

Za sortiranje 2D polja u Javi po stupcima, pozovite ' Arrays.sort() ' metoda s ' Sučelje komparatora ”. Sučelje Comparator definira ' usporedi() ” metoda koja prihvaća dva parametra i potom ih međusobno uspoređuje. Ako su proslijeđeni parametri jednaki, vraća nulu. Ako je 1. parametar veći od 2. parametra, vraća pozitivnu vrijednost. Ako nije, vraća se negativna vrijednost.

Primjer
U ovom primjeru stvorit ćemo metodu pod nazivom ' stupacWiseSorting() ' s dva argumenta, 2D niz ' dolazak[][] ' i broj stupca pod nazivom ' pregled ”. Zatim nazovite ' Arrays.sort() ' metoda s ' Sučelje komparatora ” za usporedbu vrijednosti stupca. Na kraju, ispisat ćemo vrijednosti sortiranog stupca niza koristeći ' za ” petlje:

statički poništiti stupacWiseSorting ( int arr [ ] [ ] , int pregled ) {
Nizovi. vrsta ( arr , novi Usporednik < int [ ] > ( ) {
javnost int usporediti ( int [ ] prvo , int [ ] scnd ) {
ako ( prvo [ pregled - 1 ] > scnd [ pregled - 1 ] ) {
povratak 1 ;
}
drugo povratak - 1 ;
}
} ) ;
}
za ( int ja = 0 ; ja < arr. duljina ; ja ++ ) {
za ( int j = 0 ; j < arr [ ja ] . duljina ; j ++ ) {
Sustav. van . ispisati ( arr [ ja ] [ j ] + ' ' ) ;
}
Sustav. van . println ( ) ;
}

Iskoristit ćemo već kreirani niz pod nazivom ' arr ' i proslijedite ga u ' stupacWiseSorting() ” kao prvi parametar i “ 1 ” kao drugi parametar:

stupac WiseSorting ( arr , 1 ) ;

Izvršenje gore navedenog programa će sortirati prvi stupac našeg 2D niza:

Sastavljamo sve bitne informacije za sortiranje 2D polja u Javi.

Zaključak

U Javi, 2D niz se može sortirati prema redovima ili stupcima prema zahtjevima. Za sortiranje po redovima koristi se samo metoda Array.sort(); međutim, kod sortiranja po stupcima, metoda Array.sort() poziva se sa sučeljem Comparator. Za sortiranje po redu, nijedan parametar se ne prosljeđuje metodi Array.sort(), dok se u metodi sortiranja po stupcu kao parametar navodi broj stupaca koje je potrebno sortirati. U ovom vodiču raspravljalo se o metodama sortiranja 2D polja u Javi s primjerima.