728x90
반응형
Java 배열 정렬 방법
- Stream API의 sorted()
- 오름차순 정렬 - sorted(Comparator.naturalOrder())
- 내림차순 정렬 - sorted(Comparator.reverseOrder())
- 새로운 변수에 저장하여 추가 메모리가 필요하다.
- Comparator는 Wrapper Class 배열에서 사용할 수 있다.
- Primitive type 배열을 Wrapper Class 배열로 바꿔서 사용한다.
- String 배열은 사용 가능하다. (String은 Primitive type이 아님!)
// 오름차순 정렬
final List<Integer> newArr = Arrays.stream(arr)
.boxed()
.sorted(Comparator.naturalOrder())
.collect(Collectors.toList());
// 내림차순 정렬
final List<Integer> newArr = Arrays.stream(arr)
.boxed()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
- Stream API의 sorted()의 알고리즘과 시간 복잡도
- 알고리즘: Timsort
- 평균 시간 복잡도: O(nlogn)
- 최악 시간 복잡도: O(nlogn)
728x90
알게 된 점
- sorted()를 사용하려면 Wrapper Class 배열로 바꿔야 한다는 것을 알게 되었다.
- boxed()는 Primitive type의 스트림을 해당 Wrapper type의 스트림으로 변환하는 데 사용된다는 점을 알게 되었다.
다음에 학습할 것
- 다양한 정렬의 동작 원리
반응형
Java 코딩 테스트에서 정렬 알고리즘은 매우 흔히 쓰이므로 잘 파악하고 있어야겠다.
728x90
반응형
'Club > 99클럽 코테 스터디 2기' 카테고리의 다른 글
99클럽 코테 스터디 12일차 TIL List 자료구조 (0) | 2024.05.31 |
---|---|
99클럽 코테 스터디 11일차 TIL 배열과 리스트 (0) | 2024.05.30 |
99클럽 코테 스터디 9일차 TIL Java 배열 정렬 #1 (0) | 2024.05.28 |
99클럽 코테 스터디 8일차 TIL Java 코테 출력 (0) | 2024.05.27 |
99클럽 코테 스터디 7일차 TIL Java 코테 입력 (0) | 2024.05.26 |
댓글