-
[Java 자바] 11. 기본 API 클래스 ⑦ Arrays 클래스Programming/Java 2022. 9. 4. 22:08반응형
11-8. Arrays 클래스
리턴 타입 메소드 이름 설명 int binarySearch(배열, 찾는값) 전체 배열 항목에서 찾는 값이 있는 인덱스 리턴 타겟 배열 copyOf(원본배열, 복사할길이) 원본 배열의 0번 인덱스에서 복사할 길이만큼 복사할 배열 리턴
복사할 길이는 원본 배열의 길이보다 커도 되며, 타겟 배열의 길이가 됨타겟 배열 copyOfRange(원본배열, 시작인덱스, 끝인덱스) 원본 배열의 시작 인덱스에서 끝 인덱스 전까지 복사한 배열 리턴 boolean deepEquals(배열, 배열) 두 배열의 깊은 비교(중첩 배열의 항목까지 비교) boolean equals(배열, 배열) 두 배열의 얕은 비교(중첩 배열 항목은 비교하지 않음) void fill(배열, 값) 전체 배열 항목에 동일한 값을 저장 void fill(배열, 시작인덱스, 끝인덱스) 시작 인덱스부터 끝 인덱스 전까지의 항목에만 동일한 값 저장 void sort(배열) 배열의 전체 항목을 오름차순으로 정렬 String toString(배열) "[값1, 값2, ...]" 와 같은 문자열 리턴 11-8-1. 배열 복사
char[] arr1 = {'E', 'R', 'I', 'N'}; char[] arr2 = Arrays.copyOf(arr1, arr1.length); char[] arr3 = Arrays.copyOfRange(arr2, 1, 2); System.out.println(Arrays.toString(arr2)); // [E, R, I, N] System.out.println(Arrays.toString(arr3)); // [R]
11-8-2. 배열 항목 비교
int[][] origin = {{1, 2}, {3, 4}}; // 얕은 복사 후 비교 (복사한 객체가 기존 객체와 동일한 참조값을 가짐) int[][] cloned1 = Arrays.copyOf(origin, origin.length); System.out.println(origin.equals(cloned1)); // false System.out.println(Arrays.equals(origin, cloned1)); // true System.out.println(Arrays.deepEquals(origin, cloned1)); // true // 깊은 복사 후 비교 (복사한 객체는 새로운 객체로 기존과 다른 참조값을 가짐) int[][] cloned2 = Arrays.copyOf(origin, origin.length); cloned2[0] = Arrays.copyOf(origin[0], origin[0].length); cloned2[1] = Arrays.copyOf(origin[1], origin[1].length); System.out.println(origin.equals(cloned2)); // false System.out.println(Arrays.equals(origin, cloned2)); // false System.out.println(Arrays.deepEquals(origin, cloned2)); // true
11-8-3. 배열 항목 정렬
- 기본 정렬은 오름차순으로 정렬
- 사용자 정의 클래스 타입일 경우 클래스가 Comparable 인터페이스를 구현하고 있어야 정렬 가능
int[] scores = {100, 90, 95, 50}; Arrays.sort(scores); System.out.println(Arrays.toString(scores)); // [50, 90, 95, 100] String[] names = {"Ruby", "Erin", "Mike"}; Arrays.sort(names); System.out.println(Arrays.toString(names)); // [Erin, Mike, Ruby]
반응형'Programming > Java' 카테고리의 다른 글
[Java 자바] 12. 멀티 스레드 ① 개념과 생성방법, 우선순위 (0) 2022.09.12 [Java 자바] 11. 기본 API 클래스 ⑧ Wrapper(포장), Math, Random 클래스 (0) 2022.09.04 [Java 자바] 11. 기본 API 클래스 ⑥ StringBuffer, StringBuilder 클래스 (0) 2022.09.04 [Java 자바] 11. 기본 API 클래스 ⑤ StringTokenizer 클래스 (0) 2022.09.04 [Java 자바] 11. 기본 API 클래스 ④ String 클래스 (0) 2022.09.04