JAVA/JAVA
Java | 다차원 배열_이차원 배열
pathas
2020. 1. 29. 17:45
다차원 배열_이차원 배열
배열의 리스트가 배열로 이루어진 표(면)의 형태를 갖는 배열
배열의 첫 번째 리스트를 행이라고 하고,
각 행에 해당하는 배열을 열이라고 함
고정배열
행과 열의 개수가 정해져 있는 배열
자료형 [][] 배열명 = new 자료형[개수][개수]
가변배열
행의 개수는 정해져 있지만, 열의 개수는 정해져 있지 않은 배열
행의 개수가 정해져 있지 않은 배열은 생성할 수 없음
자료형 [][] 배열명 = new 자료형[개수][]
초기화
// 배열을 생성한 후 초기화 하는 경우, 불편하기 때문에 자주 사용되지 않음
자료형 [][] 배열명 = new 자료형[2][2]
배열명[0][0] = 값1, 배열명[0][1] = 값2, 배열명[1][0] = 값3, 배열명[1][1] = 값4
// 생성과 동시에 초기화, 동시에 초기화하는 경우 행/열 개수를 임의로 설정 가능
자료형 [][] 배열명 = {{값1, 값2, 값3},{값4, 값5}, {값7},,,}
사용례
package j200129;
public class DoubleArray {
public static void main(String[] args) {
// int형 이차원 배열 array 생성 및 초기화
int[][] array = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
// array 배열의 행 값 출력
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
// 행의 주소값이 출력됨 -> 열의 리스트가 저장되어 있는 주소를 알려줌
/*
[I@15db9742
[I@6d06d69c
[I@7852e922
*/
// array 배열의 행에 저장된 각각의 열 값 출력
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
System.out.println("array2[" + i + "][" + j + "]: " + array[i][j]);
}
}
/*
array2[0][0]: 1
array2[0][1]: 2
array2[0][2]: 3
array2[1][0]: 4
array2[1][1]: 5
array2[1][2]: 6
array2[2][0]: 7
array2[2][1]: 8
array2[2][2]: 9
*/
}
}
확장 for문_이차원 배열
형식
for(1차원 배열 자료형 배열명[]:2차원 배열명){
for(1차원 배열 자료형 변수명: 1차원 배열명){
// Java Code;
}
}
사용례
package j200129;
public class DoubleArray {
public static void main(String[] args) {
int[][] array = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
// 2차원 배열 내의 각각의 행을 임시로 1차원 배열 tmp[]에 할당
for (int tmp[] : array) {
// 1차원 배열 tmp[]의 각각의 요소를 임시로 변수 val에 할당
for (int val : tmp) {
System.out.print(val + "\t");
}
System.out.println();
}
/*
1 2 3
4 5 6
7 8 9
*/
}
}
배열의 리스트가 또 배열로 이루어져 있는 이차원 배열에 대해 살펴보았습니다.
이차원 배열의 경우 표를 연상하면 조금 더 이해하기가 수월할 것입니다.
다차원 배열에서 이차원 배열까지는 많이 사용된다고 하기 때문에
이차원 배열의 구조와 기본적인 사용법에 대해서는 알아두는 것이 좋겠습니다.