Comparable , Comparator

김고양이·2023년 9월 10일
0

목차
1. Comparable
2. Comparator

들어가기 전에..

  1. 둘은 객체를 비교할 수 있도록 만듦. (대개 정렬의 용도로)
  2. 인터페이스(interface)에 속하는 comparable과 Comparator
    따라서 사용을 위해서는 인터페이스 내에 선언된 메소드를 '반드시 구현(Override)'해야함!

1. Comparable

  • lang 패키지 내 존재(import 불필요)
  • compareTo(T o)
    • 자기 자신과 매개변수 객체를 비교
  • 사용방법

public class ClassName implements Comparable<Type> { 
 
/*
  ...
  code
  ...
 */
 
	// 필수 구현 부분
	@Override
	public int compareTo(Type o) {
		/*
		 비교 구현
         if(this.oo > o.oo) return 0;
		 */
	}   
}


2. Comparator

  • util 패키지 내 존재(import 필요)
  • compare(T o1, o2)
    • 두 매개변수 객체를 비교
  • 사용방법

import java.util.Comparator;	// import 필요
public class ClassName implements Comparator<Type> { 
 
/*
  ...
  code
  ...
 */
 
	// 필수 구현 부분
	@Override
	public int compare(Type o1, Type o2) {
		/*
		 비교 구현
         if( o1.oo > o2.oo ) return 1;
		 */
	}
}

주의 : Overflow가 발생할 여지가 있는지를 반드시 확인하고 사용!

*Overflow : 연산 과정에서 자료형의 범위를 넘어서버림

출처1: https://st-lab.tistory.com/243

0개의 댓글