Wprowadzenie do tablicy wielowymiarowej w Javie

Kompletny przewodnik po macierzy wielowymiarowej w Javie. Tablica to jednorodna struktura danych, która jest zbiorem elementów o podobnym typie danych. Są one przechowywane w ciągłym miejscu pamięci. W tablicy pierwszy element jest przechowywany w indeksie 0, drugi element jest przechowywany w indeksie 1 i tak dalej. Tablice mogą mieć jeden wymiar lub wiele wymiarów. W tym dokumencie przyjrzymy się tablicom wielowymiarowym w Javie. Tablica wielowymiarowa to tablica, która może pomieścić więcej niż jeden wiersz i kolumnę. Zobaczmy teraz składnię i implementację tablicy wielowymiarowej w poniższych sekcjach.

Składnia:

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

  • data_type : typ danych tablicy, przykład: int, char, float itp
  • wymiar : wymiar tablicy, przykład: 1D, 2D itp.
  • array_name : nazwa tablicy.
  • size1, size2, …, sizeN : Rozmiary wymiaru.

Rodzaje macierzy wielowymiarowych w Javie

Najpopularniejsze macierze wielowymiarowe w Javie to:

  • Tablica dwuwymiarowa lub tablica 2D.
  • Tablica trójwymiarowa lub tablica 3D.

1. Dwuwymiarowa tablica

Tablice 2D są powszechnie używane w platformowych grach wideo, takich jak Super Mario, do reprezentowania terenu lub ekranu. Mogą być również używane do rysowania szachownic, reprezentujących struktury takie jak arkusz kalkulacyjny itp.

Kod :

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

Przykład :

9 10

7 66

Jest to tablica 2D z dwoma rzędami i dwiema kolumnami.

2. Trójwymiarowa tablica

Tablice trójwymiarowe nie są powszechnie używane w aplikacjach czasu rzeczywistego. Dlatego dwuwymiarowe tablice są bardziej preferowane również w przykładach programowania.

Kod :

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

Przykład :

6 8 66

66 65 47

46 89 98

Jak zadeklarować tablicę wielowymiarową w Javie?

Łatwo jest zrozumieć tablicę wielowymiarową w Javie, jeśli znane są normalne tablice. Tablice wielowymiarowe można zadeklarować, jak pokazano poniżej:

Najpierw zobaczmy deklarację tablic 2D:

  • int () () array1 = new int (2) (2); // Dwuwymiarowa tablica liczb całkowitych z 2 rzędami i 2 kolumnami.
  • String () () array1 = new String (2) (2); // Dwuwymiarowa tablica łańcuchów z 2 rzędami i 2 kolumnami.
  • char () () array1 = nowy char (2) (2); // Dwuwymiarowa tablica znaków z 2 rzędami i 2 kolumnami.
  • boolean () () array1 = nowy boolean (2) (2); // Dwuwymiarowa tablica boolowska z 2 rzędami i 2 kolumnami.
  • double () () array1 = nowy double (2) (2); // Dwuwymiarowa podwójna tablica z 2 rzędami i 2 kolumnami.
  • float () () array1 = new float (2) (2); // Dwuwymiarowa tablica pływakowa z 2 rzędami i 2 kolumnami.
  • long () () array1 = nowy long (2) (2); // Dwuwymiarowy długi zestaw z 2 rzędami i 2 kolumnami.
  • short () () array1 = nowy short (2) (2); // Dwuwymiarowa krótka tablica z 2 rzędami i 2 kolumnami.
  • byte () () array1 = nowy bajt (2) (2); // Dwuwymiarowa tablica bajtów z 2 rzędami i 2 kolumnami.

Upewnij się, że tworzona jest poprawna deklaracja podczas programowania w Javie.

Przykład 1

Kod:

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

Wynik:

Deklaracja tablicy trójwymiarowej może zostać omówiona.

  • int () () () array2 = new int (12) (24) (36); // Trójwymiarowa tablica

Te tablice mogą być dowolnego typu danych. Poniżej znajdują się niektóre z trójwymiarowych tablic z różnymi typami danych.

  • int () () () IntArray; // deklarowanie trójwymiarowej tablicy liczb całkowitych.
  • byte () () () ByteArray; // deklarowanie trójwymiarowej tablicy bajtów.
  • short () () () ShortArray; // zadeklarowanie trójwymiarowej tablicy szortów.
  • long () () () LongArray; // deklarowanie trójwymiarowej tablicy Longów.
  • float () () () FloatArray; // deklarowanie trójwymiarowej tablicy pływaków.
  • double () () () DoubleArray; // deklarowanie trójwymiarowej tablicy podwójnych.
  • boolean () () () BooleanArray; // deklaracja trójwymiarowej tablicy booleanów.
  • char () () () CharArray; // deklarowanie trójwymiarowej tablicy znaków.
  • String () () () StringArray; // deklarowanie trójwymiarowej tablicy ciągów.

Przykład nr 2

Kod:

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

Wynik:

Jak zainicjować tablicę wielowymiarową w Javie?

Tablice wielowymiarowe można inicjować na wiele sposobów:

1. Zadeklaruj i utwórz wielowymiarową tablicę Java

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

W bardziej tradycyjny sposób inicjowanie elementów tablicy może wyglądać następująco.

  • a (0) (1) (0) = 15; // Inicjowanie elementów tablicy w pozycji (0) (1) (0)
  • a (1) (2) (0) = 45; // Inicjowanie elementów tablicy w pozycji (1) (2) (0)
  • a (2) (1) (1) = 65; // Inicjowanie elementów tablicy w pozycji (2) (1) (1)

2. Określ bezpośrednio elementy

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

W takim przypadku, mimo że rozmiar wierszy i kolumn nie jest wspomniany, kompilator Java jest w stanie zidentyfikować rozmiar wierszy i kolumn, zliczając liczbę elementów.

3. Nested For Loop

W przypadku przechowywania dużej liczby elementów można użyć Nested For Loop, jak pokazano poniżej:

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. Przypisywanie wartości do jednego wiersza

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

Tworzona jest trójwymiarowa tablica o wielkości 3 poziomach * 2 wierszach * 4 kolumnach, ale wartości są przypisywane tylko do niektórych pozycji. Ponieważ do żadnego z pozostałych elementów nie przypisano żadnej wartości, zostaną przypisane wartości domyślne.

Operacje na tablicach wielowymiarowych

Tablica wielowymiarowa w Javie może wykonywać kilka operacji.

Przykład 1

Zobaczmy dodatek macierzy dwóch tablic.

Kod:

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

Wynik:

Jeśli trzeba wykonać odejmowanie, zamień „+” na „-” w kodzie.

Przykład nr 2

Zobaczmy, jak działa mnożenie macierzy.

Kod:

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

Wynik:

Wniosek

Tablice to jednorodne struktury danych, które mogą przechowywać podobne typy elementów. Może być jednowymiarowy lub wielowymiarowy. W tym dokumencie omówiono tablice wielowymiarowe z wyjaśnieniem struktury składni, inicjalizacji itp.

Polecane artykuły

To jest przewodnik po Multidimensional Array w Javie. Tutaj omawiamy 2 typy macierzy wielowymiarowych w Javie, jak zadeklarować, jak zainicjować i jak je obsługiwać. Możesz również przejrzeć nasze inne powiązane artykuły, aby dowiedzieć się więcej -

  1. Tablica wielowymiarowa w C
  2. Tablice 2D w Javie
  3. Tablice 2D w C #
  4. PHP Booleans
  5. Grafika 2D w Javie
  6. Wielowymiarowa tablica w PHP
  7. Tablice wielowymiarowe w C ++ z przykładami
  8. 3 różne typy tablic w PHP (przykłady)
  9. Tablice w strukturze danych
  10. Co to jest tablica ciągów znaków?
  11. Jak działa tablica w Uniksie ze składnią?