본문 바로가기

JAVA/기초 프로그래밍

2차원 배열을 - 1차원 배열에 대입하기

 

 

배열 셋팅;

char array2[][] = {
				{'A','B','C'},
				{'D','E','F'},
				{'G','H','H'},
				{'J','K','L'},
                };

 

원리;

 

//                        3* [i] + [j] (array2의 인덱스 배열 순서)   
 array2[0][0]           3 * 0 + 0                 ->   array1[0]
 array2[0][1]           3 * 0 + 1                 ->   array1[1]
 array2[0][2]           3 * 0 + 2                 ->   array1[2]
 
 array2[1][0]           3 * 1 + 0                 ->   array1[3]
 array2[1][1]           3 * 1 + 1                 ->   array1[4]
 array2[1][2]           3 * 1 + 2                 ->   array1[5]
 *

 

		char array2[][] = {
				{'A','B','C'},
				{'D','E','F'},
				{'G','H','H'},
				{'J','K','L'}
		};
		
		char array1[] = new char[array2.length * array2[0].length];
		
		int count=0;
		for (int i = 0; i < array2.length; i++) {
			for (int j = 0; j < array2[0].length; j++) {
				array1[array2[0].length*i+j] = array2[i][j];
				
				//윗줄의 두번째 방법(but 오류가 날 수 있음)
				//array1[count] = array2[i][j];
				//count++;
			}
		}
		for (int i = 0; i < array1.length; i++) {
			System.out.println(array1[i]);
		}