Введение в многомерный массив в Java

Полное руководство по многомерному массиву в Java. Массив - это однородная структура данных, представляющая собой набор элементов с похожим типом данных. Они хранятся в смежной ячейке памяти. В массиве первый элемент сохраняется в индексе 0, второй элемент сохраняется в индексе 1 и так далее. Массивы могут быть одного измерения или нескольких измерений. В этом документе мы рассмотрим многомерные массивы в Java. Многомерный массив - это массив массивов, который может содержать более одной строки и столбца. Теперь давайте посмотрим синтаксис и реализацию многомерного массива в следующих разделах.

Синтаксис:

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

  • data_type : тип данных массива, пример: int, char, float и т. д.
  • измерение : размерность массива, пример: 1D, 2D и т. д.
  • имя_массива : имя массива.
  • size1, size2, …, sizeN : размеры измерения.

Типы многомерного массива в Java

Наиболее распространенные многомерные массивы в Java:

  • Двумерный массив или 2D массив.
  • Трехмерный массив или 3D-массив.

1. Двумерный массив

2D-массивы обычно используются в видеоиграх на платформе, таких как Super Mario, для отображения ландшафта или экрана. Они также могут использоваться для рисования шахматных досок, представления структур, таких как электронные таблицы и т. Д

Код :

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

Пример :

9 10

7 66

Это двумерный массив с двумя строками и двумя столбцами.

2. Трехмерный массив

Трехмерные массивы обычно не используются в приложениях реального времени. Таким образом, двумерным массивам также отдают предпочтение в примерах программирования.

Код :

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

Пример :

6 8 66

66 65 47

46 89 98

Как объявить многомерный массив в Java?

Многоплановый массив в Java легко понять, если известны нормальные массивы. Многомерные массивы могут быть объявлены, как показано ниже:

Во-первых, давайте посмотрим объявление 2D-массивов:

  • int () () array1 = new int (2) (2); // Двухмерный массив Integer с 2 строками и 2 столбцами.
  • String () () array1 = new String (2) (2); // Двухмерный массив строк с 2 строками и 2 столбцами.
  • char () () array1 = new char (2) (2); // Двухмерный массив символов с двумя строками и двумя столбцами.
  • boolean () () array1 = new boolean (2) (2); // Двумерный логический массив с 2 строками и 2 столбцами.
  • double () () array1 = new double (2) (2); // Двухмерный двойной массив с 2 строками и 2 столбцами.
  • float () () array1 = new float (2) (2); // Двухмерный массив с двумя строками и двумя столбцами.
  • long () () array1 = new long (2) (2); // Двухмерный длинный массив с 2 строками и 2 столбцами.
  • short () () array1 = new short (2) (2); // Двухмерный короткий массив с 2 строками и 2 столбцами.
  • byte () () array1 = new byte (2) (2); // Двухмерный байтовый массив с 2 строками и 2 столбцами.

Убедитесь, что при программировании на Java создано правильное объявление.

Пример № 1

Код:

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

Выход:

Декларация трехмерного массива может быть обсуждена.

  • int () () () array2 = new int (12) (24) (36); // Трехмерный массив

Эти массивы могут быть любых типов данных. Ниже приведены некоторые из трехмерных массивов с различными типами данных.

  • int () () () IntArray; // объявляем трехмерный массив целых чисел.
  • byte () () () ByteArray; // объявляем трехмерный массив байтов.
  • short () () () ShortArray; // объявляем трехмерный массив шорт.
  • long () () () LongArray; // объявляем трехмерный массив Longs.
  • float () () () FloatArray; // объявляем трехмерный массив Floats.
  • double () () () DoubleArray; // объявляем трехмерный массив Doubles.
  • boolean () () () BooleanArray; // объявляем трехмерный массив логических значений.
  • char () () () CharArray; // объявляем трехмерный массив символов.
  • String () () () StringArray; // объявляем трехмерный массив строк.

Пример № 2

Код:

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

Выход:

Как инициализировать многомерный массив в Java?

Многомерные массивы могут быть инициализированы несколькими способами:

1. Объявите и создайте многомерный массив Java

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

Более традиционным способом инициализация элементов массива может быть следующей.

  • а (0) (1) (0) = 15; // Инициализация элементов массива в позиции (0) (1) (0)
  • а (1) (2) (0) = 45; // Инициализация элементов массива в позиции (1) (2) (0)
  • а (2) (1) (1) = 65; // Инициализация элементов массива в позиции (2) (1) (1)

2. Напрямую Укажите Элементы

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

В этом случае, даже если размер строк и столбцов не упоминается, компилятор java может определить размер строк и столбцов путем подсчета количества элементов.

3. Вложенный для цикла

В случае хранения большого количества элементов можно использовать Nested For Loop, как показано ниже:

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. Присвоение значений одной строке

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

Создается трехмерный массив уровней 3 уровня * 2 строки * 4 столбца, но значения присваиваются только некоторым позициям. Поскольку ни один из других элементов не имеет назначенного значения, будут назначены значения по умолчанию.

Операции над многомерными массивами

Многомерный массив в Java может выполнять несколько операций.

Пример № 1

Давайте посмотрим на матричное сложение двух массивов.

Код:

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

Выход:

Если необходимо выполнить вычитание, замените «+» на «-» в коде.

Пример № 2

Давайте посмотрим, как работает матричное умножение.

Код:

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

Выход:

Вывод

Массивы представляют собой однородные структуры данных, которые могут хранить элементы одинакового типа. Он может быть одномерным или многомерным. В этом документе обсуждаются многомерные массивы с объяснением структуры синтаксиса, инициализации и т. Д.

Рекомендуемые статьи

Это руководство по многомерному массиву в Java. Здесь мы обсуждаем 2 типа многомерного массива в Java, как объявить, как инициализировать и работать с ним. Вы также можете просмотреть другие наши статьи, чтобы узнать больше -

  1. Многомерный массив в C
  2. 2D массивы в Java
  3. 2D массивы в C #
  4. PHP Booleans
  5. 2D-графика в Java
  6. Многомерный массив в PHP
  7. Многомерные массивы в C ++ с примерами
  8. 3 различных типа массивов в PHP (примеры)
  9. Массивы в структуре данных
  10. Что такое массив строк?
  11. Как работает массив в Unix с синтаксисом?