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:
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:
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.