Arrays 클래스의 메소드
1. copyOf/ copyRange
2. equals
3. sort
4. binarySearch
copyOf 메소드
copyOf와 arraycopy의 차이
Arrays.copyOf 가 요소를 복사할 뿐만 아니라 새 배열도 생성한다는 것입니다.
System.arraycopy 는 기존 배열로 복사합니다(주의! 기존 배열이 미리 선언되어야 한다).
copyOf
arraycopy
equals 메소드
두 배열의 내용을 비교한다. 요소가 기본 자료형이면 따로 오버 라이딩할 필요 없다.
주의!
Arrays.equals는 참조값을 비교하는 게 아니다. 배열의 각 요소를 비교한다.
배열의 요소가 기본 자료형이 아닌 인스턴스라면?
Object.equals를 오버 라이딩한다.
참고!
배열의 각 요소 비교는 object 클래스의 equals 메소드 호출에 의해 비교된다.
sort 메소드
정렬 기준 정의
Comparable 인터페이스의 유일한 메소드 compareTo를 디자인해야 한다.
다음처럼 구현도 가능하다.
binarySearch 메소드
binarySearch는 오버로딩 되어있어서 int 뿐만 아니라 여러 기본 자료형도 가능하다. 배열의 요소가 인스턴스 compareTo 오버라이딩을 통해 적절히 디자인하면 된다. 단, 이진 탐색을 위해서는 배열이 오름차순으로 정렬되어 있어야 한다(선행조건).
배열의 요소가 인스턴스라면?
compareTo를 오버라이딩을 통해 적절히 디자인한다.
binarySearch 통한 탐색의 기준은 무엇일까? equals가 아니다 compareTo가 기준이다.
'Programming > Java' 카테고리의 다른 글
JAVA 21(2) 제네릭 1 (0) | 2021.08.13 |
---|---|
JAVA 21 (1) 제네릭 1 (0) | 2021.08.13 |
JAVA 20(2) Math 클래스 (0) | 2021.08.12 |
JAVA 20(1) wrapper 클래스 (0) | 2021.08.11 |
JAVA 19(5) 얕은 복사와 깊은 복사 (0) | 2021.08.11 |