Ta vadnica bo razpravljala o tem, kako razvrstiti 2D nize v Javi.
Kako razvrstiti 2D matriko v Javi?
V Javi lahko 2D matriko razvrstite z:
Zdaj bomo obravnavali vsako od omenjenih metod eno za drugo.
1. način: Razvrščanje 2D matrike v Javi po vrsticah
Pri razvrščanju po vrsticah lahko uporabite » Array.sort() ” za razvrščanje elementov polja. Ponavlja vsak element določene vrstice in zamenja cela števila, ko je trenutni element večji od naslednjega.
Oglejmo si primer, da bomo razumeli stran izvedbe.
Primer
V tem primeru bomo najprej ustvarili statično metodo ' rowWiseSorting() «, da razvrstite matriko v naraščajočem vrstnem redu s klicem » Arrays.sort() ” razreda Arrays in nato natisnite razvrščene elemente matrike z uporabo za ” zanke:
za ( int jaz = 0 ; jaz < prir. dolžina ; jaz ++ ) {
Nizi. vrsta ( prir [ jaz ] ) ;
}
za ( int jaz = 0 ; jaz < prir. dolžina ; jaz ++ ) {
za ( int j = 0 ; j < prir [ jaz ] . dolžina ; j ++ ) {
Sistem. ven . tiskanje ( prir [ jaz ] [ j ] + ' ' ) ;
}
Sistem. ven . println ( ) ;
}
vrnitev 0 ;
}
Tukaj imamo 2D niz z imenom ' prir ” matrične oblike 3×3 (tri vrstice in trije stolpci). Zdaj, da razvrstimo vrstice ustvarjene matrike, bomo poklicali metodo ' rowWiseSorting() ” s posredovanjem matrike kot argumenta v metodi main():
javnosti statična praznina glavni ( Vrvica [ ] args ) {
int prir [ ] [ ] = novo int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , dvajset } ,
{ 28 , 25 , 8 } ,
{ enajst , 5 , 1 } } ;
rowWiseSorting ( prir ) ;
}
}
Kot lahko vidite, smo našo matriko razvrstili v naraščajočem vrstnem redu:
Želite preizkusiti razvrščanje po stolpcih v Javi? Oglejte si naslednji razdelek.
2. način: Razvrščanje 2D matrike v Javi po stolpcih
Če želite 2D matriko v Javi razvrstiti po stolpcu, pokličite » Arrays.sort() ' metoda z ' Vmesnik primerjalnika ”. Vmesnik primerjalnika definira ' primerjaj() ” metoda, ki sprejme dva parametra in ju nato primerja med seboj. Če so posredovani parametri enaki, vrne nič. Če je 1. parameter večji od 2. parametra, vrne pozitivno vrednost. Če ni, je vrnjena negativna vrednost.
Primer
V tem primeru bomo ustvarili metodo z imenom ' columnWiseSorting() ' z dvema argumentoma, 2D niz ' prihod [][] « in številko stolpca z imenom » pregled ”. Nato pokličite » Arrays.sort() ' metoda z ' Vmesnik primerjalnika ” za primerjavo vrednosti stolpca. Na koncu bomo natisnili vrednosti razvrščenega stolpca matrike z uporabo ' za ” zanke:
Nizi. vrsta ( prir , novo Primerjalnik < int [ ] > ( ) {
javnosti int primerjati ( int [ ] prvi , int [ ] scnd ) {
če ( prvi [ pregled - 1 ] > scnd [ pregled - 1 ] ) {
vrnitev 1 ;
}
drugače vrnitev - 1 ;
}
} ) ;
}
za ( int jaz = 0 ; jaz < prir. dolžina ; jaz ++ ) {
za ( int j = 0 ; j < prir [ jaz ] . dolžina ; j ++ ) {
Sistem. ven . tiskanje ( prir [ jaz ] [ j ] + ' ' ) ;
}
Sistem. ven . println ( ) ;
}
Uporabili bomo že ustvarjeno matriko z imenom ' prir « in ga posredujte » columnWiseSorting() ' kot prvi parameter in ' 1 ” kot drugi parameter:
columnWiseSorting ( prir , 1 ) ;
Izvedba zgoraj navedenega programa bo razvrstila prvi stolpec naše 2D matrike:
Zberemo vse bistvene informacije za razvrščanje 2D matrike v Javi.
Zaključek
V Javi je 2D matriko mogoče razvrstiti po vrsticah ali stolpcih glede na zahteve. Za razvrščanje po vrsticah se uporablja samo metoda Array.sort(); vendar se pri razvrščanju po stolpcu metoda Array.sort() pokliče z vmesnikom Comparator. Pri razvrščanju po vrsticah metodi Array.sort() ni posredovan noben parameter, medtem ko je pri metodi razvrščanja po stolpcu kot parameter navedeno število stolpcev, ki jih je treba razvrstiti. Ta vadnica je obravnavala metode za razvrščanje 2D matrike v Javi s primeri.