728x90
반응형
다중 배열
1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 |
2차원 구조의 배열은 '다중 배열'을 선언하면 된다.
int[][] multiArray;
위 표의 내용으로 초기값을 바로 설정하기 위해서는 아래와 같이 써야한다.
int[][] multiArray = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
'int[4] 배열 세 개가 묶인 배열'이라고 볼 수 있다. 즉, multiArray[0]의 자료형은 int[4]이고 내용은 {1, 2, 3, 4}
생성
위에서는 배열의 초기값을 바로 설정해주었다. 만약, 선언과 생성만 하기 위해서는 어떻게 해야 할까?
이제 3 x 4 사이즈의 빈 배열을 만들어보자.
int[][] multiArray = new int[3][4];
각 대괄호 사이에 사이즈를 넣어준다. 일반적으로 '행(줄)'을 첫 번째 대괄호에, '열(칸)'을 두 번째 대괄호에 넣는다.
사용
앞에서 본 것과 같이 multiArray[0]은 이제 int[4]의 자료형을 갖게 된다.
마찬가지로 multiArray[1], multiArray[2] 모두 int[4]의 자료형을 갖게 된다.
그렇기 때문에 multiArray[0]을 일반적인 배열 탐색법으로 탐색할 수 있다.
for (int i = 0; i < multiArray[0].length; i++) {
multiarray[0][i] = 1 + i;
}
마찬가지 방법으로 위의 표 내용처럼 multiArray를 이렇게 채울 수 있다.
for (int i = 0; i < multiArray[0].length; i++) {
multiarray[0][i] = 1 + i;
}
for (int i = 0; i < multiArray[1].length; i++) {
multiarray[1][i] = 5 + i;
}
for (int i = 0; i < multiArray[2].length; i++) {
multiarray[2][i] = 9 + i;
}
중첩 반복문 (Nested Loops)
위의 방법이 너무 반복적이라 중첩 반복문을 사용하면 깔끔하게 사용할 수 있다.
for (int i = 0; i < multiArray.length; i++) {
for (int j = 0; j < multiArray[i].length; j++) {
multiArray[i][j] = (i * 4 + 1) + j;
}
}
여기서 multiArray.length는 전체 자리 수 12가 아닌, 행(줄)의 수인 3입니다.
728x90
반응형
'TIL > Java' 카테고리의 다른 글
[Java] 메소드(Method) (0) | 2021.12.29 |
---|---|
[Java] 객체 지향 프로그래밍이란? (0) | 2021.12.29 |
[Java] 배열(Array)_염기서열문제 (0) | 2021.12.28 |
[Java] 배열(Array) (0) | 2021.12.28 |
[Java] 조건문과 반복문_For (0) | 2021.12.27 |