> Java > java지도 시간 > 본문

Java의 다차원 배열

WBOY
풀어 주다: 2024-08-30 15:27:38
원래의
1123명이 탐색했습니다.

Java의 다차원 배열에 대한 전체 가이드입니다. 배열은 유사한 데이터 유형을 가진 요소의 모음인 동종 데이터 다차원 구조입니다. 인접한 메모리 위치에 저장됩니다. 배열에서 첫 번째 요소는 인덱스 0에 저장됩니다. 두 번째 요소는 인덱스 1에 저장됩니다. 배열은 단일 차원일 수도 있고 다차원일 수도 있습니다. 이 문서에서는 Java의 다차원 배열을 살펴보겠습니다. 다차원 배열은 둘 이상의 행과 열을 포함할 수 있는 배열의 배열입니다. 이제 다음 섹션에서 다차원 배열의 구문과 구현을 살펴보겠습니다.

광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 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 배열.
  • 3차원 배열 또는 3D 배열.

1. 2차원 배열

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차원 배열

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차원 정수 배열.
  • String[][] array1 = 새로운 문자열[2][2]; //2행 2열의 2차원 문자열 배열.
  • char[][] array1 = 새 문자[2][2]; //2행 2열의 2차원 문자 배열.
  • boolean[][] array1 = new boolean[2][2]; //2행 2열의 2차원 부울 배열.
  • double[][] array1 = new double[2][2]; //2행 2열의 2차원 이중 배열.
  • float[][] array1 = 새로운 float[2][2]; //2행 2열의 2차원 부동소수 배열.
  • long[][] array1 = 새로운 long[2][2]; //2행 2열의 2차원 긴 배열.
  • short[][] array1 = new short[2][2]; //2행 2열의 2차원 짧은 배열.
  • 바이트[][] 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의 다차원 배열

3차원 배열의 선언을 논의할 수 있습니다.

  • int[][][] array2 = 새로운 int[12][24][36]; //3차원 배열

이러한 배열은 모든 데이터 유형이 될 수 있습니다. 다음은 다양한 데이터 유형을 갖는 3차원 배열 중 일부입니다.

  • int [][][] IntArray; // 3차원 정수 배열을 선언합니다.
  • 바이트[][][] ByteArray; // 3차원 바이트 배열을 선언합니다.
  • 짧은[][][] ShortArray; // Shorts의 3차원 배열을 선언합니다.
  • 긴[][][] LongArray; // Long의 3차원 배열을 선언합니다.
  • float[][][] FloatArray; // Float의 3차원 배열을 선언합니다.
  • 더블[][][] DoubleArray; // Double의 3차원 배열을 선언합니다.
  • 부울[][][] BooleanArray; // 부울의 3차원 배열을 선언합니다.
  • char[][][] CharArray; // Char의 3차원 배열을 선언합니다.
  • 문자열[][][] 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!