Java flerdimensionel matrix (2d og 3d Array)

I denne vejledning lærer vi om Java multidimensionelle array ved hjælp af 2-dimensionelle arrays og 3-dimensionelle arrays ved hjælp af eksempler.

Før vi lærer om det flerdimensionale array, skal du sørge for at kende til Java-arrayet.

Et flerdimensionelt array er et array af arrays. Hvert element i et flerdimensionelt array er et array i sig selv. For eksempel,

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

Her har vi oprettet et flerdimensionelt array med navnet a. Det er et 2-dimensionelt array, der maksimalt kan rumme 12 elementer,

2-dimensionel matrix

Husk, Java bruger nulbaseret indeksering, dvs. indeksering af arrays i Java starter med 0 og ikke 1.

Lad os tage et andet eksempel på det flerdimensionale array. Denne gang opretter vi et 3-dimensionelt array. For eksempel,

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

Her er data et 3d-array, der maksimalt kan rumme 24 (3 * 4 * 2) elementelementer af typen String.

Hvordan initialiseres et 2d-array i Java?

Her er hvordan vi kan initialisere et 2-dimensionelt array i Java.

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

Som vi kan se, er hvert element i det flerdimensionale array et array i sig selv. Og i modsætning til C / C ++ kan hver række i det flerdimensionale array i Java have forskellige længder.

Initialisering af 2-dimensionel matrix

Eksempel: 2-dimensionel matrix

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

Output :

 Række længde 1: 3 Række længde 2: 4 Række længde 3: 1

I ovenstående eksempel opretter vi et flerdimensionelt array med navnet a. Eftersom hver bestanddel af en flerdimensional tabel er også en matrix ( a(0), a(1)og a(2)er også arrays).

Her bruger vi lengthattributten til at beregne længden af ​​hver række.

Eksempel: Udskriv alle elementer i 2d-array ved hjælp af Loop

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

Output :

 1 -2 3 -4 -5 6 9 7

Vi kan også bruge for … hver sløjfe til at få adgang til elementer i det flerdimensionale array. For eksempel,

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

Output :

 1 -2 3 -4 -5 6 9 7

I ovenstående eksempel er vi oprettet et 2d-array med navnet a. Vi brugte derefter forloop og for… eachloop til at få adgang til hvert element i arrayet.

Hvordan initialiseres et 3d-array i Java?

Lad os se, hvordan vi kan bruge et 3d-array i Java. Vi kan initialisere et 3d-array svarende til 2d-arrayet. For eksempel,

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

Dybest set er et 3d-array et array med 2d-arrays. Rækkerne i et 3d-array kan også variere i længde ligesom i et 2d-array.

Eksempel: 3-dimensionel matrix

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

Output :

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

Interessante artikler...