반응형
다차원 배열(multi-dimensional array)이란?
2차원 이상의 배열(array)
2차원 배열의 선언과 생성
2차원 배열을 선언하는 방법은 1차원 배열과 같지만 괄호[]가 하나 더 들어간다.
int[][] numArray = new int[4][3]; // 4행 3열의 2차원 배열 선언 및 생성
2차원 배열의 길이와 인덱스(index)
2차원 배열은 행(row)와 열(column)로 구성되어 있기 때문에 길이와 index도 행과 열 별로 존재한다.
2차원 배열의 길이
2차원 배열은 행의 길이, 각 행마다 열의 길이가 존재한다.
int[][] numArray = new int[4][3]; // 4행 3열의 2차원 배열 선언 및 생성
System.out.println(numArray.length); // 행의 길이 -> 4
System.out.println(numArray[0].length) // 1행의 열 길이 -> 3
2차원 배열의 인덱스(index)
2차원 배열은 행과 열 각각 하나씩의 index가 존재한다.
일반 배열과 마찬가지로 index는 1이 아닌 0부터 시작한다.
int[][] numArray = new int[4][3]; // 4행 3열의 2차원 배열 선언 및 생성
numArray[0][0] = 100; // 1행 1열에 100 저장
System.out.println(numArray[0][0]); // 100
2차원 배열의 초기화
2차원 배열도 괄호{}를 사용하여 생성과 초기화 가능
int[][] arr = new int[][]{
{1, 2, 3},
{4, 5, 6}
};
// new int[][] 생략
int[][] arr = {
{1, 2, 3},
{4, 5, 6}
}
가변 배열
2차원 이상의 배열에서 길이를 정하지 않은, 고정된 형태가 아닌 유동적인 배열을 구성할 수 있다.
int[][] arr = new int[5][]; // 두 번째 차원의 길이는 지정하지 않는다.
arr[0] = new int[3];
arr[1] = new int[3];
arr[2] = new int[3];
arr[3] = new int[3];
arr[4] = new int[3];
반응형