공부노트/개인공부!
[Java, 자바] 2차원배열을 1차원배열에 담기
drexqq
2020. 5. 26. 17:12
728x90
반응형
Java의 2차원 배열을 1차원 배열에 담는 연습을 해보았다.
코드
package work0526;
public class Work03 {
public static void main(String[] args) {
// array2 -> array1
/*
2차원 배열의 값들을 1차원배열로 옮기기
int arr2[][] = {
{1, 2, 3},
{4, 5, 6}
}
int array[] = new int[?];
*/
// 2차원 배열 선언
int arr2[][] =
{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9},
{10, 11, 12}
};
// 2차원 -> 1차원
int arr[] = new int[arr2.length*arr2[0].length];
// 규칙
/*
arr2[0].length = 3;
arr[0][0] = 3 * 0 + 0; 0
arr[0][1] = 3 * 0 + 1; 1
arr[0][2] = 3 * 0 + 2; 2
arr[1][0] = 3 * 1 + 0; 3
arr[1][1] = 3 * 1 + 1; 4
arr[1][2] = 3 * 1 + 2; 5
arr[2][0] = 3 * 2 + 0; 6
arr[2][1] = 3 * 2 + 1; 7
arr[2][2] = 3 * 2 + 2; 8
:
:
:
*/
for (int i = 0; i < arr2.length; i++) {
for (int j = 0; j < arr2[i].length; j++) {
arr[arr2[i].length * i + j] = arr2[i][j];
}
}
// 출력
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
위 코드 상에서는 초기화가 되어있는 2차원 배열을 바꾸었지만 약간의 수정만 한다면 동적으로 할당받은 2차원 배열을 1차원 배열로 바꿀 수 있을 것 같다.
728x90
반응형