Introductie van Multidimensional Array in Java

Een complete gids over Multidimensional Array in Java. Een array is een homogene gegevensstructuur die een verzameling elementen met een vergelijkbaar gegevenstype is. Ze worden opgeslagen op de aangrenzende geheugenlocatie. In array wordt het eerste element opgeslagen in index 0, het tweede element wordt opgeslagen in index 1, enzovoort. Arrays kunnen een enkele dimensie of meerdere dimensies hebben. In dit document zullen we kijken naar multidimensionale arrays in Java. Een multidimensionale array is een array met arrays die meer dan één rij en kolom kan bevatten. Laten we nu de syntaxis en implementatie van Multi-dimensionale array in de volgende secties bekijken.

Syntaxis:

data_type(dimension 1)(dimension 2)()…(dimension n) array_name= new data_type(size 1)(size 2)…(size n)

  • data_type : datatype van array, voorbeeld: int, char, float, enz
  • dimensie : de dimensie van de array, voorbeeld: 1D, 2D, enz.
  • matrixnaam : naam van de matrix.
  • maat1, maat2, …, maatN : maten van de dimensie.

Soorten multidimensionale array in Java

De meest voorkomende multidimensionale array in Java zijn:

  • Tweedimensionale array of 2D-array.
  • Driedimensionale array of 3D-array.

1. Tweedimensionale array

2D-arrays worden vaak gebruikt in platformvideospellen zoals Super Mario om terrein of scherm weer te geven. Ze kunnen ook worden gebruikt voor het tekenen van schaakborden, die structuren zoals een spreadsheet vertegenwoordigen, enz.

Code :

int()() array1 = new int(2)(2);//Two dimensional Integer Array with 2 rows and 2 columns

Voorbeeld :

9 10

7 66

Dit is een 2D-array met twee rijen en twee kolommen.

2. Driedimensionale matrix

Driedimensionale arrays worden niet vaak gebruikt in realtime-toepassingen. Daarom krijgen tweedimensionale arrays ook meer voorkeur in programmeervoorbeelden.

Code :

int()()() array2 = new int(12)(24)(36); //Three dimensional Array

Voorbeeld :

6 8 66

66 65 47

46 89 98

Hoe een multidimensionale array op Java te verklaren?

Het is gemakkelijk om de Multidimensional Array in Java te begrijpen als normale arrays bekend zijn. Multidimensionale arrays kunnen worden aangegeven zoals hieronder weergegeven:

Laten we eerst de verklaring van 2D-arrays bekijken:

  • int () () array1 = new int (2) (2); // Tweedimensionale Integer Array met 2 rijen en 2 kolommen.
  • String () () array1 = new String (2) (2); // Tweedimensionale String Array met 2 rijen en 2 kolommen.
  • char () () array1 = new char (2) (2); // Tweedimensionale char-array met 2 rijen en 2 kolommen.
  • boolean () () array1 = new boolean (2) (2); // Tweedimensionale booleaanse array met 2 rijen en 2 kolommen.
  • double () () array1 = nieuw double (2) (2); // Tweedimensionale dubbele array met 2 rijen en 2 kolommen.
  • float () () array1 = nieuwe float (2) (2); // Tweedimensionale float-array met 2 rijen en 2 kolommen.
  • long () () array1 = nieuw long (2) (2); // Tweedimensionale lange array met 2 rijen en 2 kolommen.
  • short () () array1 = nieuw short (2) (2); // Tweedimensionale korte array met 2 rijen en 2 kolommen.
  • byte () () array1 = nieuwe byte (2) (2); // Tweedimensionale byte-array met 2 rijen en 2 kolommen.

Zorg ervoor dat de juiste aangifte wordt gemaakt tijdens het programmeren in Java.

Voorbeeld 1

Code:

//Java Program to demonstrate the multidimensional 2D array
public class MultidimensionalArray (
public static void main(String args())(
//2D array a is declared and initialized
int a()()=((2, 2, 3), (8, 4, 5), (9, 4, 5));
//Print the array elements
for(int i=0;i<3;i++)(
for(int j=0;j<3;j++)(
System.out.print(a(i)(j)+" ");
)
System.out.println();
)
))

Output:

De verklaring van Three Dimensional Array kan worden besproken.

  • int () () () array2 = new int (12) (24) (36); // Driedimensionale array

Deze arrays kunnen van elk gegevenstype zijn. Hieronder staan ​​enkele van de driedimensionale arrays met verschillende gegevenstypen.

  • int () () () IntArray; // declarerende driedimensionale array van gehele getallen.
  • byte () () () ByteArray; // declarerende driedimensionale array van bytes.
  • short () () () ShortArray; // met driedimensionale reeks shorts.
  • long () () () LongArray; // declarerende driedimensionale array van Longs.
  • float () () () FloatArray; // met vermelding van driedimensionale reeks drijvers.
  • double () () () DoubleArray; // met vermelding van een driedimensionale reeks dubbelen.
  • boolean () () () BooleanArray; // met vermelding van de driedimensionale reeks Booleans.
  • char () () () CharArray; // met vermelding van driedimensionale reeks tekens.
  • String () () () StringArray; // met vermelding van driedimensionale reeks strings.

Voorbeeld 2

Code:

//Java Program to demonstrate the multidimensional array
public class MultidimensionalArray (
//main method
public static void main(String() args) (
//3D array arr
int()()() arr = ( ( ( 1, -9, 3 ), ( 2, 7, 4 ) ), ( ( -45, -5, 6, 75 ), ( 88 ), ( 29, 30 ) ) );
// for..each loop to iterate through the elements of the 3d array arr
for (int()() ar: arr) (
for (int() a: ar) (
for(int finalarray: a) (
System.out.println(finalarray);
)
)
)
)
)

Output:

Hoe de multidimensionale array in Java te initialiseren?

Multidimensionale arrays kunnen op meerdere manieren worden geïnitialiseerd:

1. Verklaar en maak een Java Multidimensional Array

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

Op een meer traditionele manier kunnen initialisatie-arrayelementen als volgt zijn.

  • a (0) (1) (0) = 15; // Matrixelementen initialiseren op positie (0) (1) (0)
  • a (1) (2) (0) = 45; // Array-elementen initialiseren op positie (1) (2) (0)
  • a (2) (1) (1) = 65; // Array-elementen initialiseren op positie (2) (1) (1)

2. Specificeer direct de elementen

int()()() a = ( ( ( 11, 23, 30 ), ( 5, 65, 70 ), ( 0, 80, 10 ), ( 10, 12, 450 ) ), ( ( 33, 2, 4 ), (11, 66, 6), (55, 11, 22), (11, 57, 43) ) );

In dit geval, hoewel de grootte van rijen en kolommen niet wordt vermeld, kan de Java-compiler de grootte van rijen en kolommen identificeren door het aantal elementen te tellen.

3. Genest voor lus

In het geval van het opslaan van een groot aantal elementen, kan Nested For Loop worden gebruikt zoals hieronder weergegeven:

int i, j, k;
for(i = 0; i < 2; i++) (
for(j = 0; j < 3; j++) (
for(k = 0; k < 4; k++) (
a(i)(j)(k) = i + j + k;) ) )

4. Waarden toewijzen aan één rij

int a= new int(3)(2)(4);
a(0)(2)(1)= 33;
a(0)(1)(2)= 73;
a(0)(1)(1)= 88;

Er wordt een driedimensionale array met grootte 3 niveaus * 2 rijen * 4 kolommen gemaakt, maar waarden worden alleen aan bepaalde posities toegewezen. Aangezien aan geen van de andere elementen een waarde is toegewezen, worden standaardwaarden toegewezen.

Operaties op multidimensionale arrays

Multidimensional Array in Java kan verschillende bewerkingen uitvoeren.

Voorbeeld 1

Laten we eens kijken naar de matrixtoevoeging van twee arrays.

Code:

import java.util.*;
//Java Program to demonstrate the multidimensional array
public class MultidimensionalArray (
//main method
public static void main(String args())
(
int row, col, c, d;
//input the number of rows and columns
Scanner in = new Scanner(System.in);
System.out.println("Enter the number of rows of matrix");
row = in.nextInt();
System.out.println("Enter the number of columns of matrix");
col = in.nextInt();
//initialization of two matrices and sum matrix
int firstmat()() = new int(row)(col);
int secondmat()() = new int(row)(col);
int summat()() = new int(row)(col);
//adding elements to first matrix
System.out.println("Enter the elements to be added to the first matrix");
for (c = 0; c < row; c++)
for (d = 0; d < col; d++)
firstmat(c)(d) = in.nextInt();
//adding elements to second matrix
System.out.println("Enter the elements to be added to the second matrix");
for (c = 0 ; c < row ; c++)
for (d = 0 ; d < col ; d++)
secondmat(c)(d) = in.nextInt();
//sum of the two matrices
for (c = 0; c < row; c++)
for (d = 0; d < col; d++)
summat(c)(d) = firstmat(c)(d) + secondmat(c)(d);
System.out.println("Sum of the two given matrices is:");
//printing the sum matrix
for (c = 0; c < row; c++)
(
for (d = 0; d < col; d++)
System.out.print(summat(c)(d)+"\t");
System.out.println();
)
)
)

Output:

Als aftrekken moet worden uitgevoerd, vervangt u '+' door '-' in de code.

Voorbeeld 2

Laten we eens kijken hoe Matrixvermenigvuldiging werkt.

Code:

import java.util.*;
//Java Program to perform matrix multiplication
public class MultidimensionalArray (
//main method
static int N = 4;
// multiply matrices a and b, and then stores the result in c
static void mul(int a()(),
int b()(), int c()())
(
int i, j, k;
for (i = 0; i < N; i++)
(
for (j = 0; j < N; j++)
(
c(i)(j) = 0;
for (k = 0; k < N; k++)
c(i)(j) += a(i)(k) * b(k)(j); //multiply a and b matrices
)
)
)
//main method
public static void main (String() args)
(
int a()() = ( (9, 7, 2, 3),
(9, 7, 2, 3),
(4, 13, 32, 2),
(9, 7, 2, 3));
int b()() = (( 9, 7, 2, 3), (9, 7, 2, 3),
(9, 7, 2, 3),
(4, 13, 32, 2));
// Store the result in c
int c()() = new int(N)(N) ;
int i, j;
mul(a, b, c); //calling the mul method
System.out.println("Multiplication result matrix" + " is ");
for (i = 0; i < N; i++)
(
for (j = 0; j < N; j++)
System.out.print( c(i)(j) + " ");
System.out.println();
)
)
)

Output:

Conclusie

Arrays zijn homogene datastructuren waarin vergelijkbare soorten elementen kunnen worden opgeslagen. Het kan eendimensionaal of multidimensionaal zijn. In dit document worden multidimensionale arrays besproken met uitleg over de syntaxisstructuur, initialisatie, enz.

Aanbevolen artikelen

Dit is een handleiding voor Multidimensional Array in Java. Hier bespreken we 2 soorten multidimensionale arrays in Java, hoe te verklaren, hoe te initialiseren en te werken. U kunt ook onze andere gerelateerde artikelen doornemen voor meer informatie -

  1. Multidimensionale array in C
  2. 2D-arrays in Java
  3. 2D-arrays in C #
  4. PHP Booleans
  5. 2D-afbeeldingen in Java
  6. Multidimensionale array in PHP
  7. Multidimensionale arrays in C ++ met voorbeelden
  8. 3 verschillende soorten arrays in PHP (voorbeelden)
  9. Arrays in gegevensstructuur
  10. Wat is een stringreeks?
  11. Hoe werkt Array in Unix met Syntax?