黑马程序员技术交流社区

标题: 通过集合来说数组的逆序排序 [打印本页]

作者: 萧未然    时间: 2015-11-21 10:48
标题: 通过集合来说数组的逆序排序
今天复写,看到集合的逆自然排序,想到了数组,翻看了一下API,数组也是有逆序排序的方式的,跟集合差不多啦
  1. import java.util.*;

  2. /**
  3. * 逆转数组自然顺序理解
  4. * @author Administrator
  5. *
  6. */
  7. public class TestReverseArray {

  8.         public static void main(String[] args) {
  9.                 Integer [] arr={3,5,2};

  10.                 System.out.println(Arrays.toString(arr));//无序
  11.                
  12.                 Arrays.sort(arr,Collections.reverseOrder());//逆转自然顺序
  13.                 System.out.println(Arrays.toString(arr));//结果:5,3,2
  14.                
  15.                 Arrays.sort(arr,new Mycom());//传入一个自定义比较器,降序的
  16.                 System.out.println(Arrays.toString(arr));//5,3,2
  17.                
  18.                 //reverseOrder()逆转的时候,会在内部对数组进行sort()--因为基本数据类型都具备比较性
  19.                 //即升序,当做该数组的自然顺序,在此基础上,再逆转,这是跟集合中对象的排序差别的地方
  20.                 Arrays.sort(arr,Collections.reverseOrder());//后面的逆的都是自然顺序sort()
  21.                 System.out.println(Arrays.toString(arr));//结果仍然是5,3,2
  22.                
  23.                 Arrays.sort(arr,Collections.reverseOrder());
  24.                 System.out.println(Arrays.toString(arr));

  25.         }
  26. }
  27. class Mycom implements Comparator<Integer>{//自定义比较器
  28.         public int compare(Integer a,Integer b){
  29.                 return b.compareTo(a);//降序
  30.         }
  31. }
复制代码

作者: 萧未然    时间: 2015-11-21 10:53
数组升序用Arrays.sort(Object[] obj);逆序用Arrays.sort(<T>[] a,Collections.reverseOrder());
作者: 一江夜雨    时间: 2015-11-21 22:37
最近在学习集合的知识  正好过来看看  学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2