티스토리 뷰
728x90
반응형
Java에서 객체를 정렬할때 직접 정렬 알고리즘을 짜서 정렬 할 수도 있지만, Arrays.sort()나 Collections.sort()를 많이 사용하죠.
사용자 기준으로 정렬기준을 정해 원하는대로 정렬하고 싶을때 Comparator, Comparable을 사용합니다.
Comparator과 Comparable의 차이점을 간단하게 생각하자면
Comparable은 Class에 정렬기준을 정하는 것이고, Compartor는 기본 정렬 기준과 다르게 정렬하고 싶을때 사용합니다.
Comparable 사용하기
Comparable은 클래스에 Comparable를 implements하고 compareTo를 오버라이드 하여 구현합니다.
예시를 보겠습니다.
실행결과
compareTo에서
음수 or 0을 리턴할 시 두 객체의 위치가 바뀌지 않고,
1을 리턴 할 시 두 객체의 자리가 바뀝니다.
Comparator 사용하기
Comparator는 다른 기준으로 정렬하고 싶을시에 사용합니다.
Comparator을 implement 한 Comp Class를 구현해 보겠습니다.
실행결과
Collections.sort를 할때 인수로 Comp객체를 넣어주면 해당 기준으로 정렬이 가능합니다.
자바에서 정렬할 때 유용한 Comparable과 Comparator를 알아보았습니다.
프로그래밍 하며 정렬할 일이 많은만큼 알아두면 편리하게 정렬을 할 수 있습니다.
728x90
반응형
'Java' 카테고리의 다른 글
[Java] 오버로딩(Overloading)과 오버라이딩(Overriding) (3) | 2020.11.17 |
---|---|
[Java] 제네릭(Generic) 타입을 쓰는 이유 (2) | 2020.11.16 |
[Java] Java volatile? (0) | 2020.11.10 |
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 가장 큰 수
- java
- 프로그래머스
- 삼성기출
- for of
- 백준
- 제네릭 타입
- local cache
- 오버로딩
- yyyy-MM-dd
- 반례
- 삼성 코테
- 카카오 코딩 테스트
- spring cache
- 19236
- 39회차
- 문자열 압축
- 제네릭(Generic)
- javascript
- 청소년상어
- 키패드 누르기
- RGB거리
- 삼각달팽이
- 1629
- 커링
- 카카오 인턴십
- vaild
- DP
- 01타일
- 날짜 유효성
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함