JAVA/자바의 정석

[자바의 정석 - 기초편] 5. (4) 2차원 배열 ( 인덱스 / 초기화 / Arrays로 배열 다루기 )

서영22 2023. 11. 27. 03:39

2차원 배열

테이블 형태의 데이터를 저장하기 위한 배열

 

 

 2차원 배열의 인덱스 

int [ ][ ]  score = new int [4][3] ;    //  4행 3열의 저장공간 12개 생성
score [0][0] = 100 ;        //  0행 0열에  100 저장
System.out.println(score [0][0]) ;

 

 

 

 2차원 배열의 초기화 

int [][]  arr = {
                        {1,2,3},
                        {4,5,6}
                    } ;

 

 

Quize 1. )  배열의 모든 수 더하기

 

 

* 참고 사진

score.length = 4  /  score[3].length = 3

 

 

 

Quize 2. )  과목별 총점 구하기

 

 

 

 

Quize 3. )  단어 뜻 맞히기

 

 

 

 

 Arrays로 배열 다루기 

1. 배열 비교 - equals() / deepEquals()

String [][]  str2D = { {"aaa", "bbb"}, {"AAA", "BBB"} };
String [][]  str2D2 = { {"aaa", "bbb"}, {"AAA", "BBB"} };

System.out.println (Arrays.equals( str2D,str2D2 ));            //  false 
System.out.println (Arrays.deepEquals( str2D,str2D2 ));   //  true

 

 

2. 배열 출력 - toString() / deepToString()

int []  arr = {0, 1, 2, 3, 4};
int [][]  arr2D = { {11, 12}, {21,22} };

System.out.println (Arrays.toString(arr));   //  [0, 1, 2, 3, 4] - 1차원일 때

System.out.println (Arrays.deepToString( arr2D ));   //  [ [11, 12], [21, 22] ] - 2차원일 때

 

 

3. 배열 복사 - copyOf() / copyOfRange()

int []  arr = {0, 1, 2, 3, 4};

int []  arr2 = Arrays.copyOf( arr, arr.length );     //  arr2 = [0, 1, 2, 3, 4]
int []  arr3 = Arrays.copyOf( arr, 3 );                  //  arr3 = [0, 1, 2]
int []  arr4 = Arrays.copyOf( arr, 7 );                  //  arr4 = [0, 1, 2, 3, 4, 0, 0]
int []  arr5 = Arrays.copyOfRange( arr, 2, 4 ) //  arr5 = [2, 3]  - 4는 불포함(2~3)
int []  arr6 = Arrays.copyOfRange( arr, 0, 7 );   //  arr5 = [0, 1, 2, 3, 4, 0, 0]

 

 

4. 배열 정렬 - sort()

int []  arr = {3, 4, 1, 0, 2};

Arrays.sort( arr );  // 배열 arr 을 정렬

System.out.println (Arrays.toString( arr ));   //  [0, 1, 2, 3, 4]