본문 바로가기
programming/Java

자바 다차원 배열 사용 using java multidimensional array

by 개코 - 개발과 코딩 2022. 5. 22.

자바에서 다차원 배열은 2차원 배열 이상의 데이터집합을 말한다. 쉽게 말해 2차원 배열은 1차원 배열의 집합이며, 1차원 배열은 데이터의 집합이다. 그렇기에 다차원 배열의 값을 다룰 경우 중첩되는 반복문이 여럿 생기며 복잡해 질 수 있다. 다차원 배열을 이해할 때는 문자열 배열을 생각하면 쉽다. 문자열 배열은 문자열의 집합이고, 문자열은 문자의 집합이기도 하다.

자바 다차원 배열 사용
using java multidimensional array

프로그래밍을 공부할 때마다 접하는 것이 배열이고, 배열에 대해 한단계 알게 되면 다차원배열이 있는 것을 알 수 있다.

다차원배열은 배열들이 다시 배열의 형식으로 만들어 지는 것을 말한다.

이해하기 쉬운 것이 문자열이 그렇다.

문자열은 문자 데이터의 집합 배열이며, 문자열 배열은 문자열의 집합 배열이다.

간혹 문자열을 처리할 때 문자열을 문자 배열로 변경하여 사용하는 경우도 여기에 속한다.

다차원 배열

일반적으로 많이 사용되는 배열은 1차원 배열이다.

1차원 배열은 많이 접하여 익숙하지만 2차원 배열부터 난해해 지는 경우들이 있다.

쉽게 생각해 보자.

2차원 배열은 1차원 배열의 데이터집합이기도 하다.

이런 데이터 형태를 잘 보여주는 것이 json 집합이기도 하다.

아래는 자바에서 다차원 배열을 나타낸 것을 보여준다.

object[] = { ~ }
object[][] = { { ~ }, { ~ } }

샘플코드

위의 내용으로 자바에서 다차원 배열을 사용하는 예제를 만들어 본다.

for 문과 for each 반복문을 사용하여 다차원 배열을 반복하고 배열 내의 데이터를 출력하도록 한다.

다차원 배열은 배열 데이터의 집합임을 상기하자.

그렇기에 모든 데이터를 출력하고자 한다면 다차원 만큼 반복문을 중첩하여 사용할 수 있다.

아래 코드를 보자.

public class JavaTutorials {
	  
	public static void main(String[] args) {
		
		String[][] _armulString = {{"데스크탑", "노트북", "태블릿", "모바일"}, {"cpu", "ram", "graphic", "hdd"}};
		
		System.out.println("--------------------------------------------------");
		
		for (int i = 0; i < _armulString.length; ++i) {
			
			for(int j = 0; j < _armulString[i].length; ++j) {
				
				System.out.println(_armulString[i][j]);
			}
		}
		
		System.out.println("--------------------------------------------------");

		for (String[] lpArEach : _armulString) {
			
			for (String lpEach : lpArEach) {
				
				System.out.println(lpEach);
			}
		}
		
		System.out.println("--------------------------------------------------");
	}
}

다차원 배열인 2차원 배열을 하나 만들고 for 반복문과 for each 반복문을 사용했다.

for 구문의 경우 배열 데이터를 순서대로 반복하면서 지정된 배열 내부의 값에 인덱스로 접근하여 값을 출력하고 있다.

for each 구문의 경우 다차원 배열을 반복하며 각 배열의 데이터에 접근하고 있다.

for each 구문의 each 데이터타입을 보면 다차원 배열이 어떻게 구성되는지 이해가 된다.

다차원 배열은 1차원 배열의 집합이고, 1차원 배열은 데이터의 집합이다.

결과 화면을 보자.

반응형

댓글