2차 배열

develop.u·2022년 8월 11일
0

2차 배열이란?

  • 1차원 배열의 각 칸에 새로운 배열( [ ] )을 넣는 형태

  • 1차 배열의 각 칸은 ‘행’이 되고, 각각의 칸에 추가된 개별적인 배열이 ‘열’이 되어 "행렬"을 구성하게 됨


<1> 2차원 배열의 선언

  • 변수타입의 뒤에 대괄호([])를 행과 열에 대하여 각각 지정

📝 형식

변수타입[][] 배열이름;

🖥️ 예시

int[][] arr;		// 2차원 배열 선언

<2> 2차원 배열의 크기 할당

  • 행과 열에 대한 크기를 명시

📝 형식

배열이름 = new 데이터형[행][열]; 

🖥️ 예시

arr = new int[3][2];	// 크기 할당

<3> 2차원 배열의 선언과 할당의 일괄처리

  • 1차원과 마찬가지로 선언과 생성 동시에 가능

📝 형식

데이터형[][] 배열이름 = new 데이터형[행][열];

🖥️ 예시

int[][] arr = new int[3][4];	// 3 x 4 = 12개의 저장공간이 생김

<4> 2차원 배열의 값 대입

  • 행, 열에 대한 인덱스를 통하여 값을 대입

📝 형식

배열이름[행][열] = 값;

🖥️ 예시

arr[0][0] = 10;	//arr 배열의 0행 0열에 10 대입
arr[0][1] = 20;	//arr 배열의 0행 1열에 20 대입
.
.
.

<5> 2차원 배열의 선언, 크기 할당, 값의 대입에 대한 일괄처리

  • 블록 괄호 '{}' 를 2중으로 겹쳐서 2차원 배열을 표현
  • 행과 열의 구분에는 콤마(,) 사용
  • ‘배열이름[ ][ ]’ 에는 배열의 크기를 명시하지 않음

🖥️ 예시

int[][] arr = new int[][]{
	{75, 82, 91}, {88, 64, 50}, {100, 100, 90}
}

<6> 2차원 배열의 길이

  • 행의 길이
    1차 배열의 길이는 2차 배열에서는 행의 크기로 조회됨
	int rows = arr.length;
  • 열의 길이
    열의 길이는 각 행에 대하여 개별적으로 조회해야 함
	int cols = arr[].length;

가변 배열(dynamic array)

  • 행마다 다른 길이의 배열을 저장할 수 있는 배열
    →2차원 배열을 생성 시 열의 길이를 생략하여 행마다 다른 길이의 배열을 요소로 저장 가능

🖥️ 예시

int[][] arr = new int[3][];	// 행의 크기 = 3
arr[0] = new int[2];		// 0번째 행은 열 2칸
arr[1] = new int[4];		// 1번째 행은 열 4칸
arr[2] = new int[1];		// 2번째 행은 열 1칸
  • 가변 배열 또한 초기화 블록을 사용하여 배열을 선언과 동시에 초기화 가능
int[][] arr = {
{10, 20},
{10, 20, 30, 40},
{10}
};

0개의 댓글