您的位置:首页 > 其它

Arrays.sort Comparator

2016-07-03 11:21 232 查看
Arrays.sort排序方法

  Sorting an Array 1. 数字排序  int[] intArray = new int[] { 4, 1, 3, -23 };

  Arrays.sort(intArray);

  输出: [-23, 1, 3, 4]

  2. 字符串排序,先大写后小写 String[] strArray = new String[] { "z", "a", "C" };

  Arrays.sort(strArray);

  输出: [C, a, z]

  3. 严格按字母表顺序排序,也就是忽略大小写排序 Case-insensitive sort

  Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);

  输出: [a, C, z]

  4. 反向排序, Reverse-order sort

  Arrays.sort(strArray, Collections.reverseOrder());

  输出:[z, a, C]

  5. 忽略大小写反向排序 Case-insensitive reverse-order sort

  Arrays.sort(strArray, String.CASE_INSENSITIVE_ORDER);

  Collections.reverse(Arrays.asList(strArray));

  输出: [z, C, a]

import java.util.Arrays;  

import java.util.Comparator;  

   

class Dog{  

    int size;     

    public Dog(int s){  

        size = s;  

    }  

}  

   

class DogSizeComparator implements Comparator<Dog>{  

   

    @Override  

    public int compare(Dog o1, Dog o2) {  

        return o1.size - o2.size;  

    }  

}  

   

public class ArraySort {  

   

    public static void main(String[] args) {  

        Dog d1 = new Dog(2);  

        Dog d2 = new Dog(1);  

        Dog d3 = new Dog(3);  

   

        Dog[] dogArray = {d1, d2, d3};  

        printDogs(dogArray);  

   

        Arrays.sort(dogArray, new DogSizeComparator());   

        printDogs(dogArray);  

    }  

   

    public static void printDogs(Dog[] dogs){  

        for(Dog d: dogs)  

            System.out.print(d.size + " " );  

   

        System.out.println();  

    }  

}  

输出为:

[plain] view plain copy

2 1 3  

1 2 3 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: