Tämä opetusohjelma käsittelee 2D-taulukoiden lajittelua Javassa.
Kuinka lajitella 2D-taulukko Javassa?
Javassa voit lajitella 2D-taulukon käyttämällä:
Käsittelemme nyt jokaista mainituista menetelmistä yksitellen.
Tapa 1: 2D-taulukon rivikohtainen lajittelu Javassa
Rivikohtaisessa lajittelussa voit hyödyntää ' Array.sort() ' -menetelmää taulukon elementtien lajitteluun. Se iteroi tietyn rivin jokaisen elementin ja vaihtaa kokonaisluvut, kun nykyinen elementti on suurempi kuin seuraava.
Katsotaanpa esimerkkiä, jotta ymmärrämme toteutuspuolen.
Esimerkki
Tässä esimerkissä luomme ensin staattisen menetelmän ' rowWiseSorting() ' lajitellaksesi taulukon nousevaan järjestykseen kutsumalla ' Arrays.sort() ' -menetelmällä Arrays-luokassa ja tulosta sitten taulukon lajitellut elementit käyttämällä ' varten 'silmukat:
varten ( int i = 0 ; i < arr. pituus ; i ++ ) {
Taulukot. järjestellä ( arr [ i ] ) ;
}
varten ( int i = 0 ; i < arr. pituus ; i ++ ) {
varten ( int j = 0 ; j < arr [ i ] . pituus ; j ++ ) {
Järjestelmä. ulos . Tulosta ( arr [ i ] [ j ] + ' ' ) ;
}
Järjestelmä. ulos . println ( ) ;
}
palata 0 ;
}
Täällä meillä on 2D-taulukko nimeltä ' arr ” 3×3 matriisimuodossa (kolme riviä ja kolme saraketta). Nyt, lajitellaksesi luodun taulukon rivit, kutsumme menetelmää ' rowWiseSorting() ' välittämällä taulukon argumenttina main()-menetelmässä:
julkinen staattinen mitätön pää ( merkkijono [ ] args ) {
int arr [ ] [ ] = Uusi int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , kaksikymmentä } ,
{ 28 , 25 , 8 } ,
{ yksitoista , 5 , 1 } } ;
rowWiseSorting ( arr ) ;
}
}
Kuten näet, olemme lajitellut taulukkomme nousevaan järjestykseen:
Haluatko kokeilla sarakekohtaista lajittelua Javassa? Katso seuraava osio.
Tapa 2: 2D-taulukon sarakekohtainen lajittelu Javassa
Jos haluat lajitella 2D-taulukon sarakekohtaisesti Javassa, kutsu ' Arrays.sort() ' menetelmä ' Vertailun käyttöliittymä ”. Comparator-käyttöliittymä määrittelee ' vertailla() ” menetelmä, joka hyväksyy kaksi parametria ja vertaa niitä sitten keskenään. Jos välitetyt parametrit ovat yhtä suuret, se palauttaa nollan. Jos 1. parametri on suurempi kuin 2. parametri, se palauttaa positiivisen arvon. Jos ei, palautetaan negatiivinen arvo.
Esimerkki
Tässä esimerkissä luomme menetelmän nimeltä ' sarakeWiseSorting() 'kahdella argumentilla, 2D-taulukko' arr[][] ' ja sarakkeen numero nimeltä ' yleiskatsaus ”. Soita sitten ' Arrays.sort() ' menetelmällä ' Vertailun käyttöliittymä ” vertaillaksesi sarakkeen arvoja. Lopuksi tulostamme taulukon lajitellun sarakkeen arvot käyttämällä ' varten 'silmukat:
Taulukot. järjestellä ( arr , Uusi Vertailija < int [ ] > ( ) {
julkinen int vertailla ( int [ ] ensimmäinen , int [ ] scnd ) {
jos ( ensimmäinen [ yleiskatsaus - 1 ] > scnd [ yleiskatsaus - 1 ] ) {
palata 1 ;
}
muu palata - 1 ;
}
} ) ;
}
varten ( int i = 0 ; i < arr. pituus ; i ++ ) {
varten ( int j = 0 ; j < arr [ i ] . pituus ; j ++ ) {
Järjestelmä. ulos . Tulosta ( arr [ i ] [ j ] + ' ' ) ;
}
Järjestelmä. ulos . println ( ) ;
}
Käytämme jo luotua taulukkoa nimeltä ' arr ja välitä se sarakeWiseSorting() ' ensimmäisenä parametrina ja ' 1 ' toisena parametrina:
sarakeWiseSorting ( arr , 1 ) ;
Yllä annetun ohjelman suorittaminen lajittelee 2D-taulukon ensimmäisen sarakkeen:
Kokoamme kaikki olennaiset tiedot 2D-taulukon lajittelemiseksi Javassa.
Johtopäätös
Javassa 2D-taulukko voidaan lajitella rivi- tai sarakekohtaisesti vaatimusten mukaan. Rivikohtaisessa lajittelussa käytetään vain Array.sort() -menetelmää; sarakekohtaisessa lajittelussa Array.sort()-metodia kutsutaan kuitenkin Comparator-liittymässä. Rivikohtaisessa lajittelussa parametria ei välitetä Array.sort()-menetelmään, kun taas sarakekohtaisessa lajittelussa parametrina mainitaan lajitettavien sarakkeiden määrä. Tässä opetusohjelmassa käsiteltiin menetelmiä 2D-taulukon lajittelemiseksi Javassa esimerkkien avulla.