JAVA-Comparable 과 Comparator 의 공통점

컴 패 러 블 인터페이스
  • 사용 장면:집합 중의 유형 이 같은 대상 을 비교 하고 인 터 페 이 스 를 실현 한 후에 comparaTo 방법
  • 을 다시 쓴다.
  • 비교 규칙 의 제정:클래스 에서 CompataTo 방법 을 다시 쓰 고 방법 에 비교 규칙
  • 을 규정 했다.
    하나의 클래스 가 Comparable 인 터 페 이 스 를 실현 한 후에 compare To 방법 을 다시 썼 습 니 다.compare To 방법의 원형 은 다음 과 같 습 니 다.
    Class Good{
    
    @Override
        //       Good  ,           
        public int compareTo(Good good) {
        /**
         *         ,    0
         *   1:            ,         
         *   0:             ,         ,   
         *   -1:            ,         
         */
         return 0;  
        }
    }
    

    만약 에 하나의 클래스 가 Comparable 인 터 페 이 스 를 실현 하고 comparaTo 방법 을 다시 쓴 후에 Collection.sort(list)를 사용 하면 list 안의 대상 은 규칙 에 따라 정렬 되 고 그 중에서 list 는 이러한 대상 을 가리 키 며 집합 합 니 다.
    Comparator 인터페이스
  • 사용 장면:집합 에서 유형 이 같 거나 다른 대상 을 비교 하 는 데 사용 되 는데 이런 비교 방식 은 Comparable 인터페이스의 비 교 를 실현 하 는 것 과 다 르 고 서로 다른 유형의 대상 간 의 비 교 를 실현 할 수 있다
  • .
  • 비교 규칙 의 제정:
  • 1.각종 대상 에 게 비교 할 때의 크기 관 계 를 정의 하 는 표 시 는 서로 다른 대상 간 의 비교 에 사용 된다.흔히 볼 수 있 는 것 은 대상 에 하나의 방법 을 써 서 비교 할 수 있 는 표 시 를 되 돌려 준다.이 표 시 는 크기 를 비교 할 수 있다
  • 2.비교 기 를 만 듭 니 다.이 비교 기 는 Comparator 인 터 페 이 스 를 실현 하고 compare 방법
  • 을 다시 썼 습 니 다.
    구조 기 는 Comparator 인 터 페 이 스 를 실현 한 후 compare 방법 을 다시 썼 습 니 다.이 방법의 원형 은 다음 과 같 습 니 다.
    @Override
    public int compare(Object addObj, Object oldObj) {
            /**
             *                    
             *   >0:            ,         
             *   0:             ,         ,   
             *   <0:            ,         
             */ 
            }

    만약 에 여러 가지 가 비교 에 사용 할 표 시 를 만 들 었 고 표 시 를 통 해 비교 규칙 을 설정 했다 면-즉,비교 기 를 만 들 었 습 니 다.Collection.sort(list,비교 기 대상(익명 내부 클래스 사용 가능)을 사용 하면 list 안의 대상 은 규칙 에 따라 정렬 되 고 그 중에서 list 가 대상 을 가리 키 는 집합 입 니 다.

    좋은 웹페이지 즐겨찾기