Acest tutorial va discuta cum să sortați matrice 2D în Java.
Cum se sortează matrice 2D în Java?
În Java, puteți sorta o matrice 2D folosind:
Vom discuta acum fiecare dintre metodele menționate una câte una.
Metoda 1: Sortarea pe rând a matricei 2D în Java
În sortarea pe rând, puteți utiliza „ Array.sort() ” metoda de sortare a elementelor matricei. Acesta repetă fiecare element dintr-un anumit rând și schimbă numerele întregi atunci când elementul curent este mai mare decât următorul.
Să vedem un exemplu pentru a înțelege partea de implementare.
Exemplu
În acest exemplu, mai întâi vom crea o metodă statică „ rowWiseSorting() ” pentru a sorta matricea în ordine crescătoare apelând „ Arrays.sort() ” metoda clasei Arrays și apoi tipăriți elementele sortate ale matricei folosind ” pentru ” bucle:
pentru ( int i = 0 ; i < arr. lungime ; i ++ ) {
Matrice. fel ( arr [ i ] ) ;
}
pentru ( int i = 0 ; i < arr. lungime ; i ++ ) {
pentru ( int j = 0 ; j < arr [ i ] . lungime ; j ++ ) {
Sistem. afară . imprimare ( arr [ i ] [ j ] + ' ' ) ;
}
Sistem. afară . println ( ) ;
}
întoarcere 0 ;
}
Aici, avem o matrice 2D numită „ arr ” de formă matriceală 3×3 (trei rânduri și trei coloane). Acum, pentru a sorta rândurile matricei create, vom numi metoda „ rowWiseSorting() ” prin trecerea matricei ca argument în metoda main():
public static gol principal ( Şir [ ] argumente ) {
int arr [ ] [ ] = nou int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , douăzeci } ,
{ 28 , 25 , 8 } ,
{ unsprezece , 5 , 1 } } ;
rowWise Sorting ( arr ) ;
}
}
După cum puteți vedea, ne-am sortat matricea în ordine crescătoare:
Doriți să încercați sortarea pe coloane în Java? Aruncă o privire la următoarea secțiune.
Metoda 2: Sortarea pe coloane a matricei 2D în Java
Pentru a sorta pe coloane o matrice 2D în Java, apelați „ Arrays.sort() ” metoda cu un “ Interfață de comparație ”. O interfață Comparator definește un „ comparaţie() ” metodă care acceptă doi parametri și apoi îi compară între ei. Dacă parametrii trecuți sunt egali, returnează zero. Dacă primul parametru este mai mare decât al doilea parametru, returnează o valoare pozitivă. Dacă nu, se returnează o valoare negativă.
Exemplu
În acest exemplu, vom crea o metodă numită „ columnWiseSorting() „cu două argumente, o matrice 2D” arr[][] ” și un număr de coloană numit „ colmn ”. Apoi, sunați „ Arrays.sort() ” metoda cu “ Interfață de comparație ” pentru a compara valorile unei coloane. În cele din urmă, vom tipări valorile coloanei sortate a matricei folosind „ pentru ” bucle:
Matrice. fel ( arr , nou Comparator < int [ ] > ( ) {
public int comparaţie ( int [ ] în primul rând , int [ ] scnd ) {
dacă ( în primul rând [ colmn - 1 ] > scnd [ colmn - 1 ] ) {
întoarcere 1 ;
}
altfel întoarcere - 1 ;
}
} ) ;
}
pentru ( int i = 0 ; i < arr. lungime ; i ++ ) {
pentru ( int j = 0 ; j < arr [ i ] . lungime ; j ++ ) {
Sistem. afară . imprimare ( arr [ i ] [ j ] + ' ' ) ;
}
Sistem. afară . println ( ) ;
}
Vom folosi matricea deja creată numită „ arr ” și transmiteți-l la „ columnWiseSorting() „ ca prim parametru și „ 1 ” ca al doilea parametru:
columnWiseSorting ( arr , 1 ) ;
Executarea programului de mai sus va sorta prima coloană a matricei noastre 2D:
Compilăm toate informațiile esențiale pentru a sorta matricea 2D în Java.
Concluzie
În Java, o matrice 2D poate fi sortată pe rând sau pe coloană, conform cerințelor. Pentru sortarea pe rând, este utilizată numai metoda Array.sort(); cu toate acestea, în sortarea pe coloană, metoda Array.sort() este apelată cu interfața Comparator. Pentru sortarea pe rând, niciun parametru nu este transmis metodei Array.sort(), în timp ce, în metoda de sortare pe rând, numărul de coloane care trebuie sortate este menționat ca parametru. Acest tutorial a discutat metodele de sortare a matricei 2D în Java cu exemple.