2차원 배열

2023. 2. 17. 19:00카테고리 없음

배열은 많은 데이터들을 하나로 묶어 처리할 때 유용한 자료 구조인데

데이터는 1차원뿐만 아니라 2차원도 될 수 있습니다.

 

만약 한 학생의 5과목의 성적을 1차원 배열로 저장을 했는데 3명 학생의 성적까지 저장하여야 할 때 3개의 1차원 배열보다 하나의 2차원 배열이 편리하다는 것입니다. 

 

아래 문장은 3행 * 5열의 요소를 가진 2차원 배열은 선언한 것입니다.

2차원 배열을 사용할 때도 인덱스를 사용합니다.

(s [행 번호][열 번호] 형태)

int [][] s= new int [3][5];

아래 코드는 2차원 배열에 저장된 내용을 화면에 출력하는 코드입니다.

for(int i=0; i < 3; i++)
	for(int j=0; j<5;i++)
    	System.out.println(s[i][j]);

 

2차원 배열에서는 같은 행의 요소를 중괄호로 묶으면 배열 초기화가 가능합니다. 

아래와 같은 형태로 말입니다

int [][] testArray = {
	{10,20,30},
    {40,50,60},
    {70,80,90}
    
   };

1차원 배열과 마찬가지로 초기화 리스트가 존재하는 경우 new 연산자를 사용할 필요가 없습니다.

 

1차원 배열의 경우 하나의 length 필드가 존재하였지만 2차원 배열에서는 전체적으로 하나의 length 필드가 있음 뿐만 아니라 각 행마다 별도의 length필드, 각 행이 가지고 있는 열의 개수까지 나타냅니다.

 

package arrays;
import java.util.Scanner;
public class Arrytest1 {
	public static void main(String[] args) {
		int [] [] array = {
				{10,20,30,40},
				{50,60,70,80},
				{90,100,110,120}
				
		};
		
		for (int r=0; r < array.length; r++){
			for (int c=0; c < array[r].length; c++) {
				System.out.println(r + "행"+ c + "열:" + array[r][c]);
				}
		}
		}

}

 

다른 언어와 마찬가지로 자바에서도 얼마든지 다차원 배열을 생설할 수 있습니다.