Šioje pamokoje bus aptarta, kaip rūšiuoti 2D matricas Java.
Kaip rūšiuoti 2D masyvą „Java“?
„Java“ galite rūšiuoti 2D masyvą naudodami:
Dabar aptarsime kiekvieną iš minėtų metodų po vieną.
1 būdas: 2D masyvo rūšiavimas pagal eilutes Java
Rūšiuodami pagal eilutes galite naudoti „ Array.sort() “ metodas masyvo elementams rūšiuoti. Jis kartoja kiekvieną konkrečios eilutės elementą ir sukeičia sveikuosius skaičius, kai dabartinis elementas yra didesnis už kitą.
Pažiūrėkime pavyzdį, kad suprastume įgyvendinimo pusę.
Pavyzdys
Šiame pavyzdyje pirmiausia sukursime statinį metodą ' rowWiseSorting() “ norėdami surūšiuoti masyvą didėjimo tvarka skambindami „ Arrays.sort() “ metodą masyvo klasėje ir tada atspausdinkite surūšiuotus masyvo elementus naudodami „ dėl “ kilpos:
dėl ( tarpt i = 0 ; i < arr. ilgio ; i ++ ) {
Masyvai. rūšiuoti ( arr [ i ] ) ;
}
dėl ( tarpt i = 0 ; i < arr. ilgio ; i ++ ) {
dėl ( tarpt j = 0 ; j < arr [ i ] . ilgio ; j ++ ) {
Sistema. išeiti . spausdinti ( arr [ i ] [ j ] + ' ' ) ;
}
Sistema. išeiti . println ( ) ;
}
grąžinti 0 ;
}
Čia turime 2D masyvą pavadinimu ' arr ” 3×3 matricos formos (trys eilutės ir trys stulpeliai). Dabar, norėdami surūšiuoti sukurto masyvo eilutes, vadinsime metodą ' rowWiseSorting() “, perduodant masyvą kaip argumentą main() metodu:
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) {
tarpt arr [ ] [ ] = naujas tarpt [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , dvidešimt } ,
{ 28 , 25 , 8 } ,
{ vienuolika , 5 , 1 } } ;
rowWiseSorting ( arr ) ;
}
}
Kaip matote, mes surūšiavome savo masyvą didėjančia tvarka:
Norite išbandyti „Java“ rūšiavimą pagal stulpelius? Pažvelkite į kitą skyrių.
2 būdas: 2D masyvo rūšiavimas pagal stulpelius Java programoje
Norėdami rūšiuoti 2D masyvą Java programoje pagal stulpelius, skambinkite Arrays.sort() ' metodas su ' Palyginimo sąsaja “. Komparatoriaus sąsaja apibrėžia „ palyginti () “ metodas, kuris priima du parametrus ir lygina juos tarpusavyje. Jei perduoti parametrai yra lygūs, jis grąžina nulį. Jei 1-asis parametras yra didesnis nei 2-asis, jis grąžina teigiamą reikšmę. Jei ne, grąžinama neigiama reikšmė.
Pavyzdys
Šiame pavyzdyje mes sukursime metodą pavadinimu ' stulpelisWiseSorting() “ su dviem argumentais, 2D masyvas “ arr[][] ir stulpelio numeris pavadinimu „ apžvalga “. Tada skambinkite „ Arrays.sort() “ metodas su „ Palyginimo sąsaja “ norėdami palyginti stulpelio reikšmes. Galiausiai išspausdinsime surūšiuoto masyvo stulpelio reikšmes naudodami „ dėl “ kilpos:
Masyvai. rūšiuoti ( arr , naujas Palyginimas < tarpt [ ] > ( ) {
viešas tarpt palyginti ( tarpt [ ] pirmas , tarpt [ ] scnd ) {
jeigu ( pirmas [ apžvalga - 1 ] > scnd [ apžvalga - 1 ] ) {
grąžinti 1 ;
}
Kitas grąžinti - 1 ;
}
} ) ;
}
dėl ( tarpt i = 0 ; i < arr. ilgio ; i ++ ) {
dėl ( tarpt j = 0 ; j < arr [ i ] . ilgio ; j ++ ) {
Sistema. išeiti . spausdinti ( arr [ i ] [ j ] + ' ' ) ;
}
Sistema. išeiti . println ( ) ;
}
Naudosime jau sukurtą masyvą pavadinimu ' arr “ ir perduokite jį „ stulpelisWiseSorting() “ kaip pirmąjį parametrą ir „ 1 “ kaip antrasis parametras:
stulpelisWiseSorting ( arr , 1 ) ;
Vykdydami aukščiau pateiktą programą, bus surūšiuotas pirmasis mūsų 2D masyvo stulpelis:
Mes kaupiame visą esminę informaciją, kad galėtume rūšiuoti 2D masyvą Java.
Išvada
„Java“ programoje 2D masyvas gali būti rūšiuojamas pagal eilutes arba stulpelius pagal reikalavimus. Rūšiuojant pagal eilutes, naudojamas tik Array.sort() metodas; tačiau rūšiuojant pagal stulpelius metodas Array.sort() iškviečiamas su Comparator sąsaja. Rūšiuojant pagal eilutes, Array.sort() metodui neperduodamas joks parametras, o taikant rūšiavimo pagal stulpelius metodą, kaip parametras nurodomas stulpelių, kuriuos reikia rūšiuoti, skaičius. Šioje pamokoje buvo aptarti 2D masyvo rūšiavimo Java programoje metodai su pavyzdžiais.