Java daudzdimensionāls masīvs (2d un 3D masīvs)

Šajā apmācībā mēs ar piemēru palīdzību uzzināsim par Java daudzdimensionālo masīvu, izmantojot divdimensiju masīvus un trīsdimensiju masīvus.

Pirms mēs uzzinām par daudzdimensionālo masīvu, pārliecinieties, vai zināt par Java masīvu.

Daudzdimensionāls masīvs ir masīvu masīvs. Katrs daudzdimensionālā masīva elements ir pats masīvs. Piemēram,

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

Šeit mēs esam izveidojuši daudzdimensionālu masīvu ar nosaukumu a. Tas ir divdimensiju masīvs, kurā var ievietot ne vairāk kā 12 elementus,

2-dimensiju masīvs

Atcerieties, ka Java izmanto nulles indeksāciju, tas ir, masīvu indeksēšana Java sākas ar 0, nevis 1.

Ņemsim vēl vienu daudzdimensiju masīva piemēru. Šoreiz mēs izveidosim trīsdimensiju masīvu. Piemēram,

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

Šeit dati ir 3D masīvs, kurā var ievietot ne vairāk kā 24 (3 * 4 * 2) tipa elementus String.

Kā inicializēt Java 2d masīvu?

Lūk, kā mēs varam inicializēt Java divdimensiju masīvu.

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

Kā redzam, katrs daudzdimensionālā masīva elements ir pats masīvs. Un arī atšķirībā no C / C ++ katra Java daudzdimensionālā masīva rinda var būt dažāda garuma.

Divdimensiju masīva inicializēšana

Piemērs: divdimensiju masīvs

 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); ) )

Izeja :

 1. rindas garums: 3. Rindas garums: 4: rindas 3: 1 garums

Iepriekš minētajā piemērā mēs veidojam daudzdimensionālu masīvu ar nosaukumu a. Tā kā katrs daudzdimensionālā masīva komponents ir arī masīvs ( a(0), a(1)un a(2)ir arī masīvi).

Šeit mēs izmantojam lengthatribūtu, lai aprēķinātu katras rindas garumu.

Piemērs: izdrukājiet visus 2d masīva elementus, izmantojot cilni

 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)); ) ) ) )

Izeja :

 1 -2 3 -4 -5 6 9 7

Lai piekļūtu daudzdimensionālā masīva elementiem, mēs varam arī izmantot katrai cilnei. Piemēram,

 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); ) ) ) )

Izeja :

 1 -2 3 -4 -5 6 9 7

Iepriekš minētajā piemērā mēs esam izveidojuši 2d masīvu ar nosaukumu a. Pēc tam mēs izmantojām forcilpu un for… eachcilpu, lai piekļūtu katram masīva elementam.

Kā inicializēt Java masīvu?

Apskatīsim, kā mēs varam izmantot 3D masīvu Java. Mēs varam inicializēt 3D masīvu, kas līdzīgs 2.d masīvam. Piemēram,

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

Būtībā 3D masīvs ir 2d masīvu masīvs. Arī 3D masīva rindas var atšķirties pēc garuma tāpat kā 2d masīvā.

Piemērs: trīsdimensiju masīvs

 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); ) ) ) ) )

Izeja :

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

Interesanti raksti...