Mathlife
Mathlife의 학습 노트
Mathlife
전체 방문자
오늘
어제
  • 분류 전체보기
    • CS
      • 알고리즘
      • 자료구조
      • 운영체제
      • 네트워크
      • 데이터베이스
    • 프로그래밍 언어
      • Java
      • JavaScript
      • C·C++
      • Python
    • Backend
      • Spring
    • Frontend
      • HTML
      • CSS
    • Math
      • Linear Algebra
      • Calculus
    • AI
      • ML
      • DL
      • RL
    • Git

블로그 메뉴

  • 홈
  • 관리
  • 글쓰기
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Mathlife

Mathlife의 학습 노트

Comparable vs Comparator
프로그래밍 언어/Java

Comparable vs Comparator

2022. 4. 8. 13:35

Comparable 인터페이스

String, Integer 처럼 비교가 가능한 객체가 구현하는 인터페이스.

compareTo(Object obj) 메소드를 구현해 객체 자신과 파라미터로 들어온 변수를 비교해 결과값을 정수로 반환한다.

기본 정렬 기준을 제공한다.

 

Comparator 인터페이스

기본 정렬 기준과 다른 정렬 기준을 적용하고 싶을 때 비교를 위한 객체를 만들고 Comparator 인터페이스를 구현하게끔 한다.

compare(Object o1, Object o2) 메소드를 구현해 파라미터로 들어온 변수들을 비교해 결과값을 정수로 반환한다.

 

예시

 

String[] strArr = { ... }

 

Arrays.sort(strArr); # String 클래스의 compareTo 메소드로 정렬

Arrays.sort(strArr, new Descending()); # Descending 클래스의 compare 메소드로 정렬

 

class Decending implements Compartor{

    public int compare(String s1, String s2){

        ...

    }

}

 

참고

잘은 모르겠지만 Comparator는 서로 다른 클래스도 비교가 가능한듯.

'프로그래밍 언어 > Java' 카테고리의 다른 글

인텔리제이 단축키  (0) 2022.05.31
제네릭  (0) 2022.04.14
음수 정수의 비트 표현  (0) 2022.04.13
Iterable & Iterator  (0) 2022.04.11
모듈과 패키지  (0) 2022.04.10
    '프로그래밍 언어/Java' 카테고리의 다른 글
    • 제네릭
    • 음수 정수의 비트 표현
    • Iterable & Iterator
    • 모듈과 패키지
    Mathlife
    Mathlife

    티스토리툴바