Java.Util 패키지 Array클래스
sort(), 배열 정렬
int[] numbers = {5, 3, 8, 1, 2};
// 기본 오름차순
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers));
// [1, 2, 3, 5, 8]
// =============================================
// 내림차순
Arrays.sort(arr, Collections.reverseOrder());
System.out.println(Arrays.toString(numbers));
// [8, 5, 3, 2, 1]
// =============================================
// 내림차순 Comparator 직접구현
Arrays.sort(arr, new Comparator<Integer>() {
@Override
public int compare(Integer i1, Integer i2) {
return i2 - i1;
}
});
System.out.println(Arrays.toString(numbers));
// =============================================
// Lambda를 이용한 내림차순
Arrays.sort(arr, (i1, i2) -> i2 - i1);
System.out.println(Arrays.toString(numbers));
copyOf() 와 copyOdRange(), 배열 복사
int[] original = {1, 2, 3, 4, 5};
int[] copy = Arrays.copyOf(original, original.length);
int[] partialCopy = Arrays.copyOfRange(original, 1, 4);
System.out.println(Arrays.toString(original));
System.out.println(Arrays.toString(copy));
System.out.println(Arrays.toString(partialCopy));
// [1, 2, 3, 4, 5]
// [1, 2, 3, 4, 5]
// [2, 3, 4]
eauls(), 배열 비교
int[] array1 = {1, 2, 3};
int[] array2 = {1, 2, 3};
int[] array3 = {3, 2, 1};
boolean isEqual1 = Arrays.equals(array1, array2);
boolean isEqual2 = Arrays.equals(array1, array3);
System.out.println(isEqual1); // true
System.out.println(isEqual2); // false
binarySearch(), 이진 검색
- 정렬이 되어있어야함!
- 중간값을 확인해서 찾으려고 하는 N보다 작으면 왼쪽, N보다 크면 오른쪽을 탐색함
int[] numbers = {1, 2, 3, 4, 5};
int index = Arrays.binarySearch(numbers, 3);
System.out.println(index);
// 3의 index번호 출력 - 2
'JAVA' 카테고리의 다른 글
[Java] Map - HashMap (0) | 2024.07.20 |
---|---|
[Java] 라이브러리 (0) | 2024.07.20 |
[Java] StringBuilder 클래스 (0) | 2024.07.20 |
[Java] Math 클래스 (1) | 2024.07.20 |
[Java] 입/출력 (0) | 2024.07.18 |