-
[Camel][Java] Multi-Dimensional Array(다차원배열) feat. 2차원배열Java/개념 정리 2020. 2. 19. 19:19
다차원배열(Multi-Dimensional Array)이란?
다차원배열이란 2차원 이상의 배열을 말합니다.
그러나 일반적으로 2차원을 넘어서는 3차원,4차원 배열을 잘 사용하지 않습니다.
2차원 배열
2차원 배열은 둘 이상의 변수가 2차원의 형태로 존재하는 배열입니다. 2차원 배열 역시 인스턴스를 기반으로 구성됩니다. 이러한 2차원의 배열의 생성은 다음과 같습니다.
int [][] arr = new int[3][4];
arr[0][0] arr[0][1] arr[0][2] arr[0][3] arr[1][0] arr[1][1] arr[1][2] arr[1][3] arr[2][0] arr[2][1] arr[2][2] arr[2][3] 위에 생성된 배열은 세로의 길이가 3, 가로의 길이가 4인 2차원 배열입니다. 그리고 1차원 배열과 유사하게 int [][] arr과 int arr [][]은 동일한 선언입니다.
배열의 길이
배열의 길이를 구하는 방법은 이전의 포스팅에서 설명한적이 있습니다. 배열의 길이를 구하기 위해서는 length를 사용 합니다. length, length(), size()의 차이에 대해 기억이 나지않으시거나 궁금하신 분은 전 포스팅을 참고하시면 되겠습니다.
2020/02/18 - [Java] - [Camel][Java] String 클래스의 다양하고 유용한 함수(Method)
배열의 길이를 구할수 있는 length의 사용법은 아래의 코드를 참고하시면 됩니다.
class lengthTwoDimenArr { public static void main (String[] args) { int[][] arr = new int[3][4]; for (int i=0; i<arr.length; i++) // arr.length의 값은 3입니다. for(int j=0; j<arr[i].length; j++) // arr[i].length의 값은 4입니다. arr[i][j]=i+j; } }
2차원 배열의 초기화
2차원 배열의 초기화 방법은 1차원 배열의 초기화 방법과 매우 유사한 형태를 보이지만 한 차원이 늘어난 만큼 약간의 차이가 있습니다. 초기화 방법은 아래의 코드와 같습니다.
int [][] arr = {{1,2,3,4}, {4,5,6,7}, {8,9,10,11}}; int [][] arr = new int[][]{ {1,2,3,4}, {4,5,6,7}, {8,9,10,11}}; int [][] arr = new int[][]{ {1,2}, {3,4,5}, {6,7,8,9}};
여기서 마지막의 초기화 방법을 보고 의문점이 생길 수 있습니다. 마지막 초기화 방법의 경우, 2차원 배열의 가로의 길이가 동일하지 않습니다. 이 방법은 여러개의 길이가 다른 1차원 배열을 묶어서 2차원 배열로 선언하는 형태입니다. 따라서 사용함에 있어서 더욱 주의가 필요합니다.
'Java > 개념 정리' 카테고리의 다른 글
[Camel][Java] 상속과 접근제어 지시자 (private, protected, public) (0) 2020.02.20 [Camel][Java] Java에서의 상속(Inheritance)이란? (feat. super 키워드) (0) 2020.02.19 [Camel][Java] Array ( 배열 ) (0) 2020.02.19 [Camel][Java] Console Input - 콘솔 입력 (Scanner) (0) 2020.02.19 [Camel][Java] StringBuilder와 StringBuffer 클래스 (0) 2020.02.19