그냥

2차원 배열

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

// 타입[][] 변수이름 = new 타입[][];
int[][] Array = new int[4][4]; // 4행4열 2차원 배열 생성

4행 4열 크기의 2차원 배열을 생성한다.

Array[0][0] ~ Array[3][3]

Array[1][0] = 10;

2차원 배열 초기화

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

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

아래 코드로 작성하는 게 사람보기에 직관적이라 더 편하다.

지정을 안 할 시 자동으로 초기화가 0으로 된다.

 

2차원 배열의 길이

Array.length를 하면 4가 나온다.

Array라는 배열 각 요소에 배열이 들어있는 것이다.

Array[0].length를 하면 4가 나온다.

따라서 Array.length를 하면 행의 길이가, Array[0].length를 하면 열의 길이가 나온다.

 

Arrays 클래스

배열의 출력

toString() 메서드 : 배열의 내용을 출력

deepToString() 메서드 : 2차원 배열의 내용을 출력

int[] arr = {1,2,3};
int[][] arr2 = { {1,2,3}
		 {4,5,6}};
                 
System.out.println(Arrays.toString(arr)); // 출력 : [1, 2, 3]
System.out.println(Arrays.deepToString(arr2)); // 출력 : [ [1,2,3] [4,5,6] ]

 

배열의 비교

equals() 메서드 : 배열의 내용을 비교

deepEquals() 메서드: 2차원 배열의 내용을 비교

 

int[][] arr1 = { {"ABC","DEF"}, {"GHI","JKL"} };
int[][] arr2 = { {"ABC","DEF"}, {"GHI","JKL"} };

System.out.println(Arrays.deepEquals(arr1,arr2)); // 출력 : true

 

배열 복사

copyOf() 메서드 : 배열을 복사한다.

copyOfRange() 메서드 : 배열을 복사한다.

int[] arr1 = {0,1,2,3,4,5,6};
// Arrays.copyOf(복사할 배열이름, 복사할 요소의 갯수);
int[] arr2 = Arrays.copyOf(arr, arr.length); // arr2 = [0,1,2,3,4,5,6]
int[] arr3 = Arrays.copyOf(arr, 2); // arr3 = [0,1]

// Arrays.copyOfRange(복사할 배열이름,배열 몇 부터 , 배열 몇 까지);
int[] arr4 = Arrays.copyOfRange(arr, 2, 5); // arr4 = [2,3,4] 5는 불포함
int[] arr5 = Arrays.copyOfRange(arr, 0, 10);
// arr5 = [0,1,2,3,4,5,6,0,0,0] 범위를 벗어나면 빈자리는 0으로

 

배열 정렬

sort() 메서드 : 배열을 오름차순으로 정렬한다.

int[] arr1 = { 10, 2, 7, 1 };
Arrays.sort(arr1);
System.out.println(Arrays.toString(arr1));
// 출력 : [1, 2, 7, 10]

'JAVA 공부 > 기초 공부' 카테고리의 다른 글

[JAVA] 11. StringTokenizer  (0) 2023.10.22
[JAVA] 9. 배열 (1)  (0) 2023.01.31
[JAVA] 8. 반복문  (0) 2023.01.30
[JAVA] 7. 조건문  (0) 2023.01.30
[JAVA] 6. 연산자  (0) 2023.01.27
profile

그냥

@Ticketpaper

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그