drexqq

[Java, 자바] 2차원배열을 1차원배열에 담기 본문

공부노트/개인공부!

[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
반응형
Comments