JAVA中Arrays.sort()使用方法,升序降序,以及自定义比较器(Comparable和Comparator接口)的使用,小白向

1.Array.sort()的使用方法

个人笔记,以免遗忘,JAVA小白,敬请指点~~

关于Array.sort()有三种格式,如下:

在这里插入图片描述

1.sort(Objetc[] a)来进行对象的自然排序,该对象必需实现Compareable接口,重写compareableTo方法,并一般在此方法中定义这3种返回值(1,0,-1)来进行排序标准的确认,后续关于返回值的正负会进行说明。而让对象实现Compareable接口的方式,称为内部比较器。
2.sort(T[] a, Comparator>? super T<> c)当调用此方法来进行自定义数组排序时,需要我们指定外部比较器。第二个参数就是自定义的比较器类,这个类必须继承Comparator接口并实现compare方法,于是就对T[]按照自定义的比较器规则进行排序。
3.sort(Object[] a, int fromIndex, int toIndex)这种形式是对数组部分排序,也就是对数组a的下标从fromIndex到toIndex-1的元素排序,注意:下标为toIndex的元素不参与排序哦!

2.Array.sort()的使用范例

第一种格式的使用范例:
1.对基本类型进行排序可以直接传入基本类型数组
eg.整型数组:

   		int[] a=new int[]{
   0,1,2,3,4,5,6};
        //升序排列
        Arrays.sort(a);
        System.out.println("升序排列: "+Arrays.toString(a));

输出:升序排列: [0, 1, 2, 3, 4, 5, 6]

可以看到默认是进行升序排列,如果要对数组进行降序排列,你可以把它反转了,或者自定义一个Comparator类(使用的是sort的第二种格式,传入一个外部比较器,可以看后续讲解,这里超前说一下),这里用匿名内部类展示了一下降序排列的写法。值得注意的是,Comparator用于构造基本数据类型的比较器时,只能对基本类型的包装类进行排序,也就是说只能传入包装类的数组,这里我们需要首先把int[]转为Integer[]

        int[] a=new int[]{
   0,1,2,3,4,5,6};
        //降序排列
        Integer[] array = new Integer[a.length];
        for(int i=0; i<a.length; i++)
        {
   
                  Integer integer = new Integer(a[i]);
                  array[i] = integer;
        }
       
        Arrays.sort(array,new Comparator<Integer>() {
   

			@Override
			public int compare(Integer o1, Integer o2) {
   
				// TODO Auto-generated method stub
				return
  • 8
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值