今天复写,看到集合的逆自然排序,想到了数组,翻看了一下API,数组也是有逆序排序的方式的,跟集合差不多啦
- import java.util.*;
- /**
- * 逆转数组自然顺序理解
- * @author Administrator
- *
- */
- public class TestReverseArray {
- public static void main(String[] args) {
- Integer [] arr={3,5,2};
- System.out.println(Arrays.toString(arr));//无序
-
- Arrays.sort(arr,Collections.reverseOrder());//逆转自然顺序
- System.out.println(Arrays.toString(arr));//结果:5,3,2
-
- Arrays.sort(arr,new Mycom());//传入一个自定义比较器,降序的
- System.out.println(Arrays.toString(arr));//5,3,2
-
- //reverseOrder()逆转的时候,会在内部对数组进行sort()--因为基本数据类型都具备比较性
- //即升序,当做该数组的自然顺序,在此基础上,再逆转,这是跟集合中对象的排序差别的地方
- Arrays.sort(arr,Collections.reverseOrder());//后面的逆的都是自然顺序sort()
- System.out.println(Arrays.toString(arr));//结果仍然是5,3,2
-
- Arrays.sort(arr,Collections.reverseOrder());
- System.out.println(Arrays.toString(arr));
- }
- }
- class Mycom implements Comparator<Integer>{//自定义比较器
- public int compare(Integer a,Integer b){
- return b.compareTo(a);//降序
- }
- }
复制代码 |
|