I den här handledningen lär vi oss Java-flerdimensionella matriser med hjälp av 2-dimensionella matriser och 3-dimensionella matriser med hjälp av exempel.
Innan vi lär oss om den flerdimensionella matrisen, se till att du känner till Java-matrisen.
En flerdimensionell matris är en matris med matriser. Varje element i en flerdimensionell array är en array i sig. Till exempel,
int()() a = new int(3)(4);
Här har vi skapat en flerdimensionell matris med namnet a. Det är en tvådimensionell matris som rymmer maximalt 12 element,
![](https://cdn.wiki-base.com/7903024/java_multidimensional_array_2d_and_3d_array.jpg.webp)
Kom ihåg att Java använder nollbaserad indexering, det vill säga indexering av matriser i Java börjar med 0 och inte 1.
Låt oss ta ett annat exempel på den flerdimensionella matrisen. Den här gången skapar vi en tredimensionell matris. Till exempel,
String()()() data = new String(3)(4)(2);
Här är data en 3d-array som kan rymma maximalt 24 (3 * 4 * 2) element av typen String
.
Hur initierar jag en 2d-array i Java?
Här är hur vi kan initiera en tvådimensionell matris i Java.
int()() a = ( (1, 2, 3), (4, 5, 6, 9), (7), );
Som vi kan se är varje element i den flerdimensionella arrayen en array i sig. Och till skillnad från C / C ++ kan varje rad i den flerdimensionella matrisen i Java ha olika längder.
![](https://cdn.wiki-base.com/7903024/java_multidimensional_array_2d_and_3d_array_2.jpg.webp)
Exempel: 2-dimensionell matris
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); ) )
Utgång :
Radlängd 1: 3 Radlängd 2: 4 Radlängd 3: 1
I exemplet ovan skapar vi en flerdimensionell matris med namnet a. Eftersom varje komponent i en flerdimensionell array är också en array ( a(0)
, a(1)
och a(2)
är också arrayer).
Här använder vi length
attributet för att beräkna längden på varje rad.
Exempel: Skriv ut alla element i 2d-array med 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)); ) ) ) )
Utgång :
1 -2 3 -4 -5 6 9 7
Vi kan också använda för … varje slinga för att komma åt element i den flerdimensionella matrisen. Till exempel,
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); ) ) ) )
Utgång :
1 -2 3 -4 -5 6 9 7
I exemplet ovan har vi skapat en 2d-grupp med namnet a. Vi använde sedan for
loop and for… each
loop för att komma åt varje element i arrayen.
Hur initierar jag en 3D-array i Java?
Låt oss se hur vi kan använda en 3d-array i Java. Vi kan initialisera en 3d-array som liknar 2d-arrayen. Till exempel,
// test is a 3d array int()()() test = ( ( (1, -2, 3), (2, 3, 4) ), ( (-4, -5, 6, 9), (1), (2, 3) ) );
I grund och botten är en 3d-array en array med 2d-matriser. Raderna i en 3d-array kan också variera i längd precis som i en 2d-array.
Exempel: 3-dimensionell matris
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); ) ) ) ) )
Utgång :
1 -2 3 2 3 4 -4 -5 6 9 1 2 3