„Java“ daugiamatis masyvas (2d ir 3D masyvas)

Šioje pamokoje sužinosime apie „Java“ daugiamatę masyvą, naudodamiesi 2 ir 3 matmenų masyvais, pasitelkdami pavyzdžius.

Prieš sužinodami apie daugiamačius masyvus, įsitikinkite, kad žinote apie „Java“ masyvą.

Daugiamatis masyvas yra masyvų masyvas. Kiekvienas daugiamačio masyvo elementas yra pats masyvas. Pavyzdžiui,

 int()() a = new int(3)(4);

Čia mes sukūrėme daugiamatį masyvą, pavadintą a. Tai yra dvimatis masyvas, kuriame gali būti daugiausia 12 elementų,

2 matmenų masyvas

Atminkite, kad „Java“ naudoja nulinį indeksavimą, tai yra, „Java“ masyvų indeksavimas prasideda nuo 0, o ne nuo 1.

Paimkime dar vieną daugiamatės masyvo pavyzdį. Šį kartą sukursime 3 dimensijų masyvą. Pavyzdžiui,

 String()()() data = new String(3)(4)(2);

Čia duomenys yra 3D masyvas, kuriame gali būti daugiausia 24 (3 * 4 * 2) tipo elementai String.

Kaip inicializuoti 2d masyvą „Java“?

Štai kaip mes galime inicijuoti 2 dimensijų masyvą „Java“.

 int()() a = ( (1, 2, 3), (4, 5, 6, 9), (7), );

Kaip matome, kiekvienas daugiamačio masyvo elementas yra pats masyvas. Be to, skirtingai nei C / C ++, kiekviena Java daugiamatės masyvo eilutė gali būti skirtingo ilgio.

Dvimatės masyvo inicijavimas

Pavyzdys: dvimatis masyvas

 class MultidimensionalArray ( public static void main(String() args) ( // create a 2d array int()() a = ( (1, 2, 3), (4, 5, 6, 9), (7), ); // calculate the length of each row System.out.println("Length of row 1: " + a(0).length); System.out.println("Length of row 2: " + a(1).length); System.out.println("Length of row 3: " + a(2).length); ) )

Išvestis :

 1 eilutės ilgis: 3 eilutės 2: 4 eilutės ilgis 3: 1

Ankstesniame pavyzdyje mes kuriame daugiaspalvį masyvą, pavadintą a. Kadangi kiekvienas daugiamačio masyvo komponentas taip pat yra masyvas ( a(0), a(1)ir a(2)taip pat yra masyvas).

Čia mes naudojame lengthatributą kiekvienos eilutės ilgiui apskaičiuoti.

Pavyzdys: atsispausdinkite visus 2d masyvo elementus naudodami kilpą

 class MultidimensionalArray ( public static void main(String() args) ( int()() a = ( (1, -2, 3), (-4, -5, 6, 9), (7), ); for (int i = 0; i < a.length; ++i) ( for(int j = 0; j < a(i).length; ++j) ( System.out.println(a(i)(j)); ) ) ) )

Išvestis :

 1 -2 3 -4 -5 6 9 7

Mes taip pat galime naudoti kiekvienai kilpai, kad pasiektumėte daugiamatės masyvo elementus. Pavyzdžiui,

 class MultidimensionalArray ( public static void main(String() args) ( // create a 2d array int()() a = ( (1, -2, 3), (-4, -5, 6, 9), (7), ); // first for… each loop access the individual array // inside the 2d array for (int() innerArray: a) ( // second for… each loop access each element inside the row for(int data: innerArray) ( System.out.println(data); ) ) ) )

Išvestis :

 1 -2 3 -4 -5 6 9 7

Ankstesniame pavyzdyje mes sukūrėme 2d masyvą, pavadintą a. Tada mes naudojome forkilpą ir for… eachkilpą, kad pasiektume kiekvieną masyvo elementą.

Kaip inicializuoti 3D masyvą „Java“?

Pažiūrėkime, kaip galime naudoti 3D masyvą „Java“. Mes galime inicijuoti 3D masyvą, panašų į 2d masyvą. Pavyzdžiui,

 // test is a 3d array int()()() test = ( ( (1, -2, 3), (2, 3, 4) ), ( (-4, -5, 6, 9), (1), (2, 3) ) );

Iš esmės, 3d masyvas yra 2d masyvų masyvas. 3D masyvo eilutės taip pat gali skirtis ilgio, kaip ir 2d masyvo.

Pavyzdys: 3 dimensijų masyvas

 class ThreeArray ( public static void main(String() args) ( // create a 3d array int()()() test = ( ( (1, -2, 3), (2, 3, 4) ), ( (-4, -5, 6, 9), (1), (2, 3) ) ); // for… each loop to iterate through elements of 3d array for (int()() array2D: test) ( for (int() array1D: array2D) ( for(int item: array1D) ( System.out.println(item); ) ) ) ) )

Išvestis :

 1 -2 3 2 3 4 -4 -5 6 9 1 2 3

Įdomios straipsniai...