* 다차원 배열
- 1차원 배열이 여러 개 묶여 있는 형태의 배열을 말함.
- 행과 열의 개념이 적용이 됨.
* 다차원 배열의 가변배열
- java의 다차원 배열은 행마다 서로 다른 열을 가질 수 있다.
- 행의 크기를 먼저 결정을 하고, 열의 크기는 가변적으로 할당하는 배열.
- 가변배열 사용 이유 : 메모리 손실을 최소화 시켜 주기 위함.
기본예제1) 가변배열
public static void main(String[] args) {
// 1. 다차원 배열 선언 및 메모리 생성.
int[][] arr = new int[3][4]; // 3행4열 2차원 배열
// 2. 배열의 초기화 작업.
int count = 10;
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
arr[i][j] = count;
System.out.println("arr["+i+"]["+j+"] >>> "+arr[i][j]);
count = count + 10;
}
}
}
기본예제2) 다차원 가변배열
public static void main(String[] args) {
// 1. 다차원 배열의 가변 배열 선언 및 메모리 생성.
int[][] arr = new int[4][]; // 행 : 4행, 열 : 미지정
// 2. 가변 배열의 열 메모리 생성.
arr[0] = new int[3]; // 1행 3열
arr[1] = new int[2]; // 2행 2열
arr[2] = new int[1]; // 3행 1열
arr[3] = new int[4]; // 4행 4열
// 3. 가변 배열에 초기값 할당.
int count = 10;
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
arr[i][j] = count;
System.out.print(arr[i][j] + "\t");
count += 10; // count = count + 10;
}
System.out.println();
}
}
예제1) 다차원 배열을 사용하여 아래와 같이 출력하시오.
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
public static void main(String[] args) {
// 1. 2차원 배열 선언 및 메모리 할당
int[][] arr = new int[5][5];
int count = 1;
// 2. 5행 5열 다차원 배열에 데이터를 저장 하자.
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
arr[i][j] = count++;
}
}
// 3. 다차원 배열을 화면에 출력해 보자.
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
System.out.printf("%2d\t", arr[i][j]);
}
System.out.println();
}
}
예제2) 다차원 배열을 사용하여 아래와 같이 출력하시오.
1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25
public static void main(String[] args) {
// 1. 2차원 배열 선언 및 메모리 할당
int[][] arr = new int[5][5];
int count = 1;
// 2. 5행 5열 다차원 배열에 데이터를 저장 하자.
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
arr[j][i] = count++;
}
}
// 3. 다차원 배열을 화면에 출력해 보자.
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
System.out.printf("%2d\t", arr[i][j]);
}
System.out.println();
}
}
예제3) 다차원 가변 배열을 사용하여 아래와 같이 출력하시오.
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
public static void main(String[] args) {
int[][] arr = new int[5][];
int count = 1;
// 1. 가변 배열의 크기를 지정해주자.
for(int i=0; i<arr.length; i++) {
arr[i] = new int[i+1];
}
// 2. 가변 배열에 데이터를 저장해 주자.
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
arr[i][j] = count++;
}
}
// 3. 가변 배열을 화면에 출력해 보자.
for(int i=0; i<arr.length; i++) {
for(int j=0; j<arr[i].length; j++) {
System.out.printf("%2d\t", arr[i][j]);
}
System.out.println();
}
}
'Back > JAVA' 카테고리의 다른 글
메소드 - 형식, 기본자료형, 참조자료형, 반환형 (0) | 2021.03.04 |
---|---|
[문제] 배열을 사용한 성적 처리 프로그램 (0) | 2021.03.04 |
[문제] 배열을 이용하여 정수를 내림차순으로 정렬하기 (0) | 2021.03.04 |
배열 공유 (0) | 2021.03.04 |
배열(Array) (0) | 2021.03.03 |