Многомерен масив в Java - Операции на многоизмерни масиви

Съдържание:

Anonim

Въведение в многоизмерен масив в 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 и т.н.
  • array_name : Име на масива.
  • 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

Това е 2D масив с два реда и две колони.

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); // Двуизмерен целочислен масив с 2 реда и 2 колони.
  • String () () array1 = new String (2) (2); // Двуизмерен струнен масив с 2 реда и 2 колони.
  • char () () array1 = нов char (2) (2); // Двуизмерен масив с 2 реда и 2 колони.
  • boolean () () array1 = нов булев (2) (2); // Двуизмерен булев масив с 2 реда и 2 колони.
  • двоен () () масив1 = нов двоен (2) (2); // Двуизмерен двоен масив с 2 реда и 2 колони.
  • float () () array1 = new float (2) (2); // Двуизмерен поплавков масив с 2 реда и 2 колони.
  • long () () масив1 = нов дълъг (2) (2); // Двуизмерен дълъг масив с 2 реда и 2 колони.
  • кратък () () масив1 = нов кратък (2) (2); // Двуизмерен кратък масив с 2 реда и 2 колони.
  • байт () () array1 = нов байт (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; // деклариране на триизмерен масив от цели числа.
  • байт () () () ByteArray; // деклариране на триизмерен масив от байтове.
  • short () () () ShortArray; // деклариране на триизмерен масив от Shorts.
  • long () () () LongArray; // деклариране на триизмерен масив от Longs.
  • float () () () FloatArray; // деклариране на триизмерен масив от Floats.
  • двойно () () () DoubleArray; // деклариране на триизмерен масив от двойки.
  • boolean () () () BooleanArray; // деклариране на триизмерен масив Booleans.
  • char () () () CharArray; // деклариране на триизмерен масив от Chars.
  • String () () () StringArray; // деклариране на триизмерен масив от Strings.

Пример №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);

По по-традиционен начин инициализирането на елементи от масива може да бъде както следва.

  • a (0) (1) (0) = 15; // Инициализиране на елементи от масив в позиция (0) (1) (0)
  • a (1) (2) (0) = 45; // Инициализиране на елементи от масив в позиция (1) (2) (0)
  • a (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. Многоизмерен масив в С
  2. 2D масиви в Java
  3. 2D масиви в C #
  4. PHP Booleans
  5. 2D графика в Java
  6. Многоизмерен масив в PHP
  7. Многомерни масиви в C ++ с примери
  8. 3 различни вида масиви в PHP (примери)
  9. Масиви в структурата на данните
  10. Какво е масив от струни?
  11. Как работи масивът в Unix със синтаксис?