- @참고 : 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은 내림차순

사용방법

  1. 정렬을 정의하는 클래스가 상속받아 구현 후 Arrays.sort(array, comparator), Collections.sort(list, comparator)로 정렬
  2. 익명객체로 구현 또는 람다식을 사용하여 구현
  3. 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
블로그 이미지

uchacha

개발자 일지

,