프로그래밍/JAVA

13 2차원 배열

윤지(●'◡'●) 2021. 4. 2. 09:58
반응형

 


2차원 배열

2차원 배열은 쉽게 말하면 배열 속의 배열이이며, 테이블 형태의 데이터를 저장하기 위해 사용한다.

 

 

 

2차원 배열 선언

 

1. 자료형 [][] 배열명 = {
		{값1,값2...},
		{값3,값4...}.
		{값5,값6...}.
		...
	};
		
2. 자료형[][]배열명 = new 자료형[행 갯수][열 갯수];
	
3. 자료형[][]배열명 = null;

주의할점은 보통 자바에서 숫자를 셀 때, 0부터 시작하지만 선언 시 칸의 크기를 결정할 때는 1부터 센다.

아래의 사진을 보면 알 수 있다 :)

 

 

 

2차원 배열 구조

 

2차원 배열의 구조

 

1차원 배열에서 언급하였던 주소에대한 내용을 떠올려보자

실제 값들이 저장되어 있는 공간이 할당되면 이름은 존재하지 않고 주소값만 존재한다. 

위의 그림과 같이 2차원 배열도 값들이 저장되어있는 공간이 할당되면 주소값만이 존재하게 된다.

 

 

 

2차원 배열의 종류

 

1) 정방배열

 

정방 배열은 각 행마다 열의 개수가 모두 같은 배열이다.

 

예시)

int[][]arrData = {
		{10,20,30},
		{40,50,60}		
	};

 

 

 

2) 비정방배열

 

비정방배열은 각 행마다 열의 개수가 다른 배열

 

예시)

int[][]arrData = {
		{10},
		{40,50,60},		
		{20,30}
	};

 

위에서 설명했던 2차원 배열의 선언방식으로 비정방 배열을 선언 및 초기화해보자 :)

 

1. 자료형 [][] 배열명 = {
                    {값1,값2...},
                    {값3,값4...}.
                    {값5,값6...}. ...
             };
int [][] arrData1 = {
		{10,20,30},
		{40,50,60},
		{70}
};

 

 

2. 자료형[][]배열명 = new 자료형[행 갯수][열 갯수];
int [][] arrData2 = new int[2][]; // 비정방 배열은 열을 적지않음
arrData2[0] = new int[3]; //0행에 3열공간 생성
arrData2[1] = new int[1]; //1행에 1열공간 생성

 

 

3. 자료형[][]배열명 = null;
int[][] arrData3 = null;
arrData3 = new int[2][];
arrData3[0] = new int[3]; //0행에 3열공간 생성
arrData3[1] = new int[3]; //1행에 3열공간 생성
반응형