- @참고 : https://www.daleseo.com/java-comparable-comparator/
[Java] 객체 정렬하기 1부 - Comparable vs Comparator
자바와 같이 객체 지향 언어를 사용하여 프로그래밍을 하다보면 객체들을 정렬해야하는 경우가 생깁니다.예를 들면, 온라인 게임 서비스에서 게이머들을 높은 점수 순으로 보여주는 게이머 랭킹 페이지를 생각해볼 수 있겠습니다. 정렬 대상 클래스먼저, 각 게이머의 정보를 표현하기 위해 다음과 같은 간단한 클래스를 생각해보겠습니다. 1234567891011public
www.daleseo.com
Interface Comparable
차이점 : 객체의 내부 변수(전)와 인자로 넘어온 변수(후)를 메소드 compareTo(o1)로 비교
공통점 : return 값이 양수일 경우 자리가 바뀐다.
사용방법 : 정렬을 원하는 클래스가 상속받아 구현 후 Arrays.sort(array), Collections.sort(list)로 정렬
Interface Comparator
차이점 : 두 변수(전, 후)를 compare(o1, o2)로 비교
공통점 : return 값이 양수일 경우 자리가 바뀐다. 즉 return o1 - o2는 오름차순(natural), return o2 - o1은 내림차순
사용방법
- 정렬을 정의하는 클래스가 상속받아 구현 후 Arrays.sort(array, comparator), Collections.sort(list, comparator)로 정렬
- 익명객체로 구현 또는 람다식을 사용하여 구현
- Stream을 사용하여 구현
'Java' 카테고리의 다른 글
[Java] LocalDateTime, Timestamp 변환 (0) | 2021.02.26 |
---|---|
[Java] Set to List, List to Set (0) | 2021.02.25 |
[Java] Optional 사용법 (0) | 2021.02.19 |
[Java] 파일 입출력 (0) | 2021.01.27 |
[java] url 주소 가져오기 (0) | 2020.11.11 |