Javaの多次元配列

WBOY
リリース: 2024-08-30 15:27:38
オリジナル
1148 人が閲覧しました

Java の多次元配列に関する完全なガイド。配列は、同様のデータ型を持つ要素のコレクションである同種データの多次元構造です。これらは連続したメモリ位置に保存されます。配列では、最初の要素はインデックス 0 に格納されます。 2 番目の要素はインデックス 1 に格納され、以下同様に続きます。配列は単一次元または多次元にすることができます。このドキュメントでは、Java の多次元配列について説明します。多次元配列は、複数の行と列を保持できる配列の配列です。ここで、次のセクションで多次元配列の構文と実装を見てみましょう。

広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト

構文:

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 で最も一般的な多次元配列は次のとおりです:

  • 2 次元配列または 2D 配列。
  • 三次元配列または 3D 配列。

1.二次元配列

2D 配列は、スーパー マリオなどのプラットフォーム ビデオ ゲームで地形や画面を表すためによく使用されます。また、チェス盤の描画、スプレッドシートなどの構造の表現にも使用できます。

コード:

int[][] array1 = new int[2][2];//Two dimensional Integer Array with 2 rows and 2 columns
ログイン後にコピー

:

9 10

7 66

これは 2 行 2 列の 2D 配列です。

2.三次元配列

3 次元配列はリアルタイム アプリケーションでは一般的に使用されません。したがって、プログラミング例でも 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 = 新しい int[2][2]; //2 行 2 列の 2 次元整数配列。
  • 文字列[][] 配列1 = 新しい文字列[2][2]; //2 行 2 列の 2 次元 String 配列。
  • char[][] array1 = 新しい char[2][2]; //2 行 2 列の 2 次元 char 配列。
  • ブール値[][] 配列1 = 新しいブール値[2][2]; //2 行 2 列の 2 次元ブール配列。
  • double[][] array1 = 新しい double[2][2]; //2 行 2 列の 2 次元 double 配列。
  • float[][] array1 = 新しい float[2][2]; //2 行 2 列の 2 次元 float 配列。
  • long[][] array1 = 新しいlong[2][2]; //2行2列の2次元のlong配列。
  • short[][] array1 = 新しい short[2][2]; //2 行 2 列の 2 次元の短い配列。
  • byte[][] array1 = 新しいバイト[2][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();
}
}}
ログイン後にコピー

出力:

Javaの多次元配列

三次元配列の宣言について議論できます。

  • int[][][] array2 = 新しい int[12][24][36]; //三次元配列

これらの配列には任意のデータ型を使用できます。以下は、さまざまなデータ型を持つ 3 次元配列の一部です。

  • int [][][] IntArray; // 整数の 3 次元配列を宣言します。
  • byte[][][] ByteArray; // Bytes の 3 次元配列を宣言します。
  • short[][][] ShortArray; // Shorts の 3 次元配列を宣言します。
  • long[][][] LongArray; // Long の 3 次元配列を宣言します。
  • float[][][] FloatArray; // Float の 3 次元配列を宣言します。
  • double[][][] DoubleArray; // Double の 3 次元配列を宣言します。
  • boolean[][][] BooleanArray; // ブール値の 3 次元配列を宣言します。
  • char[][][] CharArray; // Char の 3 次元配列を宣言します。
  • String[][][] StringArray; // 文字列の 3 次元配列を宣言します。

例 #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の多次元配列

Java で多次元配列を初期化する方法?

多次元配列は複数の方法で初期化できます:

1. Declare and Create a Java Multidimensional Array

  • int[][][] a= new int[3][5][4];

In a more traditional way, Initializing Array elements can be as follows.

  • a[0][1][0] = 15; // Initializing Array elements at position [0][1][0]
  • a[1][2][0] = 45; // Initializing Array elements at position [1][2][0]
  • a[2][1][1] = 65; // Initializing Array elements at position [2][1][1]

2. Directly Specify the Elements

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 this case, even though the size of rows and columns are not mentioned, the java compiler is able to identify the size of rows and columns by counting the number of elements.

3. Nested For Loop

In the case of storing a large number of elements, Nested For Loop can be used as shown below:

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. Assigning Values to One Row

int a= new int[3][2][4];
a[0][2][1]= 33;
a[0][1][2]= 73;
a[0][1][1]= 88;
ログイン後にコピー

A three-dimensional array of size 3 levels * 2 rows * 4 columns is created, but values are assigned to some positions only. Since none of the other elements does have any value assigned, default values will be assigned.

Operations on Multidimensional Arrays

Multidimensional Array in Java can perform several operations.

Example #1

Let Us See the Matrix Addition of Two 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 <u>in</u> = 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:

Javaの多次元配列

If subtraction needs to be performed, replace ‘+’ with ‘-‘ in the code.

Example #2

Let us see how Matrix Multiplication Works.

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:

Javaの多次元配列

Conclusion

Arrays are homogenous data structures that can store similar types of elements. It can be of single-dimensional or multidimensional. In this document, multidimensional arrays are discussed with explaining the syntax structure, initialization, etc.

Recommended  Articles

This is a guide to Multidimensional Array in Java. Here we discuss 2 types of the multidimensional array in java, how to declare, how to initialize and operation in it. You can also go through our other related articles to learn more –

  1. Multidimensional Array in C
  2. 2D Arrays in Java
  3. 2D Arrays in C#
  4. Multidimensional Array in PHP

以上がJavaの多次元配列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート