java

쉽지만 어려운 #Java #자바 #성공적 12.1,2차원 배열

sieunju 2016. 11. 11. 19:48
반응형

오랜만에 자바에 대해서 포스팅을 해보도록 하겠습니다 :D

배열이란, 가장 기초적인 자료구조이면서도, 데이터를 저장하고 출력하는데 쓰이는 것입니다.

기본적인 배열에서 1차원 2차원 .....등등 있는데 여기서 다루어 볼것은 1차,2차를 다루어 보도록 하겠습니다.

(3,4차배열도 가능하긴 하지만, 그부분은 응용하시면 됩니다 ^^)

 

1차원 배열

선언 방법은 간단합니다. 정수형으로 선언하고싶을 때에는

int arr[] = new int[5];

이렇게 해주면 "arr"이라는 정수형 배열이 선언이 되고, 5개의 정수형을 저장할수있는 "공간"

이 생깁니다.

이해를 돕기위해서 예제를 하나 들도록 하겠습니다.

for(int i=0; i<5; i++){

arr[i] = i;

}

이렇게 작성을 하면 arr 이라는 배열안에

이런식으로 저장이 됩니다. (여기서 유의 하셔야 할점은 배열은 항상 0부터 시작합니다.)

예시로 int(정수) 형을 했지만, 다른 것들도 가능합니다. String 이라던지 double 이라던지 long 등등...

그렇다면 2차원 배열은 무엇일까요??

 

2차원 배열

선언방법은 1차원과 비슷합니다.

정수형으로 선언하고싶을 때에는

int arr[] [] = new int [4][2];

정말 1차원에서 바뀐거라곤 [] 차이 입니다.

그렇다면 저형식은 어떤 구조로 되어있을까요?? 예전에 배웠던 "행렬"을 생각하시면

보다 쉽게 접근하실수 있습니다.

위에 사진 처럼 저런 구조로 되어있습니다.

(참고로 이해하기 쉽도록 저런구조로 했습니다, 컴퓨터에서는 저렇게 테이블형식으로 데이터가 저장되지 않습니다. 컴퓨터에서는 1차원 배열과 똑같은 구조 형태로 되어있습니다 :D)

그렇다면 2차원 배열을 어떤식으로 쓰이는지 예시를 하나 보면서 알아보도록 하겠습니다.

어떤 반들의 필기와 실기 점수를 2차원 배열을 사용해서 각 학생 평균을 내보도록 하여라.

이런식으로 소스를 작성하면, 첫번째 반복문에서 이차원 배열에서 값들을 각각 실기와 필기를 저장합니다.

두번째 반복문에서는 첫번째 반복문에서 저장된 이차원 배열들을 가지고 각학생들의 평균을 출력합니다.

 

이런식으로 이차원 배열의 값을 저장하고, 그 저장한 데이터를 가지고 적절하게 이용할수 있습니다.

이차원 배열같은 경우에는 Map 이나 해쉬함수와 비슷하다고 볼수있습니다. 하지만, 엄연히 다른점은 있습니다.

이차원배열은 데이터 타입은 하나만 적용할수 있습니다. Map이나 해쉬 같은 경우에는 자유롭게

설정을 할수있는 그런 녀석입니다.

 

이상 일,이차원 배열에 대해서 포스팅을 마치도록 하겠습니다.

 

 

 

 

 

 

 

반응형