Java学习笔记-Comparable & Comparator
Java学习笔记--Comparable & Comparator
一、 Comparable<T>:
Comparable是类内部的比较器,用于创建类的时候实现此接口,同时实现比较方法;对于不能修改源码的类则无法应用此方式进行比较排序等。
源码为:
1 public interface Comparable<T> { 2 public int compareTo(T o); 3 }
可以使用如Arrays.sort(T[] a)或Collections.sort(List<T> list)来使用实现了Comparable<T>的类中定义的比较方式进行比较排序。
二、 Comparator<T>:
Comparator是一个单独的比较器,可以对任意类(不能修改源码的类)使用,来对类实例进行比较排序等。
源码为:
public interface Comparator<T> { int compare(T o1, T o2); boolean equals(Object obj); }
可以使用如Arrays.sort(T[] a, Comparator<? super T> c)或Collections.sort(List<T> list, Comparator<? super T> c)来使用实现了Comparator<T>的类实例作为比较器进行比较排序。