Ako triediť 2D pole v Jave

Ako Triedit 2d Pole V Jave



Dvojrozmerné alebo 2D pole je kolekcia stĺpcov a riadkov. Programátori môžu náhodne pristupovať k prvkom 2D poľa alebo ku každej bunke jednotlivo pomocou ich indexov. Pomocou triedenia sú prvky poľa usporiadané podľa požiadaviek, či už vzostupne alebo zostupne. Konkrétnejšie, Java “ Array.sort() ” možno použiť pre prvky 2D poľa v rámci programu.

Tento tutoriál bude diskutovať o tom, ako triediť 2D polia v Jave.

Ako triediť 2D pole v Jave?

V jazyku Java môžete triediť 2D pole pomocou:







Teraz si rozoberieme každú zo spomínaných metód jednu po druhej.



Metóda 1: Riadkové triedenie 2D Array v Jave

Pri triedení po riadkoch môžete použiť „ Array.sort() ” metóda na triedenie prvkov poľa. Iteruje každý prvok konkrétneho riadku a zamieňa celé čísla, keď je aktuálny prvok väčší ako nasledujúci.



Pozrime sa na príklad, aby sme pochopili stránku implementácie.





Príklad
V tomto príklade najprv vytvoríme statickú metódu “ rowWiseSorting() ” na triedenie poľa vo vzostupnom poradí volaním “ Arrays.sort() ” metódy triedy Arrays a potom vytlačte zoradené prvky poľa pomocou “ pre “slučky:

statické int rowWiseSorting ( int arr [ ] [ ] ) {
pre ( int i = 0 ; i < arr. dĺžka ; i ++ ) {
Polia. triediť ( arr [ i ] ) ;
}
pre ( int i = 0 ; i < arr. dĺžka ; i ++ ) {
pre ( int j = 0 ; j < arr [ i ] . dĺžka ; j ++ ) {
Systém. von . vytlačiť ( arr [ i ] [ j ] + '' ) ;
}
Systém. von . println ( ) ;
}
vrátiť 0 ;
}

Tu máme 2D pole s názvom „ arr ” vo forme matice 3×3 (tri riadky a tri stĺpce). Teraz, aby sme zoradili riadky vytvoreného poľa, zavoláme metódu „ rowWiseSorting() ” odovzdaním poľa ako argumentu v metóde main():



verejnosti statické neplatné hlavné ( Reťazec [ ] args ) {
int arr [ ] [ ] = Nový int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , dvadsať } ,
{ 28 , 25 , 8 } ,
{ jedenásť , 5 , 1 } } ;
rowWiseSorting ( arr ) ;
}
}

Ako vidíte, naše pole sme zoradili vzostupne:

Chcete si vyskúšať triedenie podľa stĺpcov v Jave? Pozrite si nasledujúcu časť.

Metóda 2: Stĺpcové triedenie 2D Array v Jave

Ak chcete zoradiť 2D pole v jazyku Java po stĺpcoch, zavolajte „ Arrays.sort() “ metóda s “ Rozhranie komparátora “. Rozhranie komparátora definuje „ porovnať () ” metóda, ktorá akceptuje dva parametre a potom ich navzájom porovnáva. Ak sú odovzdané parametre rovnaké, vráti nulu. Ak je 1. parameter väčší ako 2. parameter, vráti kladnú hodnotu. Ak nie, vráti sa záporná hodnota.

Príklad
V tomto príklade vytvoríme metódu s názvom „ columnWiseSorting() “ s dvoma argumentmi, 2D pole “ arr[][] “ a číslo stĺpca s názvom „ prehľad “. Potom zavolajte na „ Arrays.sort() “ metóda s “ Rozhranie komparátora ” na porovnanie hodnôt stĺpca. Nakoniec vytlačíme hodnoty zoradeného stĺpca poľa pomocou „ pre “slučky:

statické neplatné columnWiseSorting ( int arr [ ] [ ] , int prehľad ) {
Polia. triediť ( arr , Nový Porovnávač < int [ ] > ( ) {
verejnosti int porovnať ( int [ ] prvý , int [ ] scnd ) {
ak ( prvý [ prehľad - 1 ] > scnd [ prehľad - 1 ] ) {
vrátiť 1 ;
}
inak vrátiť - 1 ;
}
} ) ;
}
pre ( int i = 0 ; i < arr. dĺžka ; i ++ ) {
pre ( int j = 0 ; j < arr [ i ] . dĺžka ; j ++ ) {
Systém. von . vytlačiť ( arr [ i ] [ j ] + '' ) ;
}
Systém. von . println ( ) ;
}

Využijeme už vytvorené pole s názvom „ arr “ a odovzdajte ho do „ columnWiseSorting() “ ako prvý parameter a “ 1 ” ako druhý parameter:

columnWiseSorting ( arr , 1 ) ;

Spustenie vyššie uvedeného programu zoradí prvý stĺpec nášho 2D poľa:

Všetky podstatné informácie na triedenie 2D poľa zostavíme v Jave.

Záver

V jazyku Java je možné 2D pole triediť po riadkoch alebo stĺpcoch podľa požiadaviek. Na triedenie po riadkoch sa používa iba metóda Array.sort(); pri triedení podľa stĺpcov sa však metóda Array.sort() volá pomocou rozhrania Comparator. Pri triedení po riadkoch sa do metódy Array.sort() neodovzdáva žiadny parameter, zatiaľ čo pri metóde triedenia po stĺpcoch sa ako parameter uvádza počet stĺpcov, ktoré je potrebné zoradiť. Tento tutoriál diskutoval o metódach triedenia 2D poľa v Jave s príkladmi.