A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 萧未然 中级黑马   /  2015-11-21 10:48  /  555 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天复写,看到集合的逆自然排序,想到了数组,翻看了一下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. }
复制代码

2 个回复

倒序浏览
数组升序用Arrays.sort(Object[] obj);逆序用Arrays.sort(<T>[] a,Collections.reverseOrder());
回复 使用道具 举报
最近在学习集合的知识  正好过来看看  学习
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马