实现了Comparator接口,就可以进行 Arrays.sort 排序了,给你看下源码把  public static <T> void sort(T[] a, Comparator<? super T> c) {
T[] aux = (T[])a.clone();
        if (c==null)
            mergeSort(aux, a, 0, a.length, 0);
        else
            mergeSort(aux, a, 0, a.length, 0, c);
    }private static void mergeSort(Object[] src,
  Object[] dest,
  int low,
  int high,
  int off) {
int length = high - low; // Insertion sort on smallest arrays
        if (length < INSERTIONSORT_THRESHOLD) {
            for (int i=low; i<high; i++)
                for (int j=i; j>low &&
 ((Comparable) dest[j-1]).compareTo(dest[j])>0; j--)
                    swap(dest, j, j-1);
            return;
        }
就是一个比较排序

解决方案 »

  1.   

    这个是源码,看下就明白了,你实现了Comparator<Dog>接口
    private static void mergeSort(Object[] src,
      Object[] dest,
      int low, int high, int off,
      Comparator c) {
    int length = high - low; // Insertion sort on smallest arrays
    if (length < INSERTIONSORT_THRESHOLD) {
        for (int i=low; i<high; i++)
    for (int j=i; j>low && c.compare(dest[j-1], dest[j])>0; j--)
        swap(dest, j, j-1);
        return;
    }
      

  2.   

    eclipce F3 看看源码有好处~