Java 다차원 배열(2D, 3D) 마스터하기: 실전 예제
Java 다차원 배열 마스터하기: 2D & 3D 예제
이 튜토리얼은 명확하고 실용적인 예제로 Java의 다차원 배열, 2차원 및 3차원 구조를 안내합니다.
다차원 배열로 들어가기 전에 기본 Java 배열에 익숙해지세요. 다차원 배열은 본질적으로 배열의 배열이며 각 요소 자체가 배열입니다.
int[][] a = new int[3][4];
여기서 a는 12개 정수를 저장할 수 있는 2차원 배열입니다(3행 × 4열). Java는 0-기반 인덱싱을 사용하므로 인덱스는 0부터 시작합니다.
3차원 예제:
String[][][] data = new String[3][4][2];
data 배열은 24개 문자열(3 × 4 × 2)을 저장할 수 있습니다.
Java에서 2D 배열 초기화
2차원 배열을 한 단계로 선언하고 채울 수 있습니다:
int[][] a = {
{1, 2, 3},
{4, 5, 6, 9},
{7},
};
각 행이 자체 배열이며 행 길이가 다를 수 있습니다—Java는 C/C++과 달리 "거친" 배열을 허용합니다.
예제: 2차원 배열
class MultidimensionalArray {
public static void main(String[] args) {
int[][] a = {
{1, 2, 3},
{4, 5, 6, 9},
{7},
};
System.out.println("1행 길이: " + a[0].length);
System.out.println("2행 길이: " + a[1].length);
System.out.println("3행 길이: " + a[2].length);
}
}
출력:
1행 길이: 3
2행 길이: 4
3행 길이: 1
여기서 a[0], a[1], a[2]는 자체 배열이므로 length 속성으로 각 행을 검사합니다.
루프로 2D 배열의 모든 요소 출력
class MultidimensionalArray {
public static void main(String[] args) {
int[][] a = {
{1, -2, 3},
{-4, -5, 6, 9},
{7},
};
for (int i = 0; i < a.length; ++i) {
for(int j = 0; j < a[i].length; ++j) {
System.out.println(a[i][j]);
}
}
}
}
출력:
1
-2
3
-4
-5
6
9
7
중첩 for-each 루프를 사용하여 더 깔끔한 문법으로도 가능:
class MultidimensionalArray {
public static void main(String[] args) {
int[][] a = {
{1, -2, 3},
{-4, -5, 6, 9},
{7},
};
for (int[] innerArray : a) {
for (int data : innerArray) {
System.out.println(data);
}
}
}
}
출력:
1
-2
3
-4
-5
6
9
7
Java에서 3D 배열 초기화
3차원 배열은 2차원 배열의 배열입니다. 비슷하게 선언할 수 있습니다:
int[][][] test = {
{
{1, -2, 3},
{2, 3, 4}
},
{
{-4, -5, 6, 9},
{1},
{2, 3}
}
};
3-D 배열의 행도 2-D 배열처럼 길이가 다를 수 있습니다.
3차원 배열 순회
class ThreeArray {
public static void main(String[] args) {
int[][][] test = {
{
{1, -2, 3},
{2, 3, 4}
},
{
{-4, -5, 6, 9},
{1},
{2, 3}
}
};
for (int[][] array2D : test) {
for (int[] array1D : array2D) {
for (int item : array1D) {
System.out.println(item);
}
}
}
}
}
출력:
1
-2
3
2
3
4
-4
-5
6
9
1
2
3
이 예제들은 Java의 다차원 배열을 효율적으로 생성, 채우기, 순회하는 방법을 보여줍니다.