Arrays.sort(int[] a)

这种形式是对一个数组的所有元素进行排序,并且是按从小到大的顺序。

举例如下:

import java.util.Arrays;public class Main {public static void main(String[] args) {int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};Arrays.sort(a);for(int i = 0; i < a.length; i ++) {System.out.print(a[i] + " ");}}
}

0 1 2 3 4 5 6 7 8 9

Arrays.sort(int[] a, int fromIndex, int toIndex)

这种形式是对数组部分排序,也就是对数组a的下标从fromIndex到toIndex-1的元素排序,注意:下标为toIndex的元素不参与排序哦!

举例如下:

import java.util.Arrays;public class Main {public static void main(String[] args) {int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};Arrays.sort(a, 0, 3);for(int i = 0; i < a.length; i ++) {System.out.print(a[i] + " ");}}
}

7 8 9 2 3 4 1 0 6 5

Arrays.sort(T[] a, Comparator<? Super T> c)用Comparator接口实现自定义排序规则

实现Comparator接口实现降序

import java.util.*;public class Main {public static void main(String[] args){//不能使用基本数据类型Integer[] arr = {5,4,7,9,2,12,54,21,1};//降序Arrays.sort(arr, new Comparator<Integer>() {//重写compare方法,最好加注解,不加也没事public int compare(Integer a, Integer b) {//返回值>0交换return b-a;}});System.out.println(Arrays.toString(arr));    }
}

和下面这个等价

import java.util.*;public class Main {public static void main(String[] args){//不能使用基本数据类型Integer[] arr = {5,4,7,9,2,12,54,21,1};//降序Arrays.sort(arr, (a, b) -> {//返回值>0交换return b-a;});System.out.println(Arrays.toString(arr));}
}

还可以

import java.util.*;public class Main {public static void main(String[] args){Integer[] arr = {5,4,7,9,2,12,54,21,1};//降序//重新实现Comparator接口Arrays.sort(arr, new compa());System.out.println(Arrays.toString(arr));}
}class compa implements Comparator<Integer>{@Overridepublic int compare(Integer o1, Integer o2) {// A.compareTo(B) A>B 返回1,A=B 返回0,A<B 返回-1// compareTo()返回值>0就交换// 如果02 > o1 就交换 =>降序return o2.compareTo(o1);}
}

Java中Arrays.sort()的三种常用用法(自定义排序规则)相关推荐

  1. java arrays.sort() c_正面刚算法-Java中Arrays.sort()(一)

    最近一直在看关于排序相关的算法,从O(n²)的冒泡.插入.选择到O(nlog(n))的归并.快排.再到桶排序.计数排序.基数排序.各个算法都有自己的优点和缺点,那么jdk中关于这种底层的算法是怎么实现 ...

  2. java中Arrays.sort()实现原理

    2019独角兽企业重金招聘Python工程师标准>>> 先在网上找到一些说法: java中Arrays.sort使用了两种排序方法,快速排序和优化的合并排序. 快速排序主要是对哪些基 ...

  3. Java中Array.sort()的几种用法[转]

    转自: http://www.cnblogs.com/IT-sky/p/3749859.html?utm_source=tuicool&utm_medium=referral void jav ...

  4. java中Collections.sort() 排序函数的用法

    java中Collections.sort() 排序函数的用法: 用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: /** ...

  5. Java中Arrays.toString ()打印二维数组及Array数组的常用操作

    1.Java中Arrays.toString () 已知打印一维数组的API为System.out.println ( Arrays.toString ();,其参数为数组名或数组指针,其支持的数据类 ...

  6. Java中Arrays类的常用方法

    Java中Arrays类的常用方法 Arrays类位于 java.util 包中,主要包含了操作数组的各种方法. import java.util.Arrays; Arrays.fill(); //填 ...

  7. JAVA中的break[标签]continue[标签]用法

    原文:JAVA中的break[标签]continue[标签]用法 注意:JAVA中的标签必须放在循环之前,且中间不能有其他语句.例如:tag:for或while或do--while; 1.使用brea ...

  8. Java中Colletcions.sort方法详解以及Comparable和Comparator两个接口的区别

    在应用Collections工具类的sort方法时,一般有两种使用方式: //将集合中元素按照默认规则排序. public static <T> void sort(List<T&g ...

  9. 12 java中instanceof运算符的意义和用法

    java中instanceof运算符的意义和用法 instanceof运算符是用来在运行时指出对象是否是特定类的一个实例.instanceof通过返回一个布尔值来标识该对象是否为特定类或者它的子类的一 ...

最新文章

  1. php和python写爬虫-可以写爬虫的那么多,为什么只有python火了?
  2. C++ 重载运算符和重载函数(一)
  3. 光纤收发器元器件指标详情
  4. UNIX(多线程):23---线程池注意事项和常见问题
  5. 云主机挂载硬盘 - 开机自动挂载
  6. 数据库SQL语句解析
  7. 物联网python教程慕课_Web应用开发 19物联网,中国大学MOOC(慕课)答案公众号搜题...
  8. Vue+flvjs 实现视频播放
  9. 线性规划图解法求最优解_线性规划的图解法6.ppt
  10. 购物商城微信小程序演示
  11. python里窗口大小的单位_python界面上的图片缩放,根据窗口大小
  12. 为什么P2P模式下载的人越多速度越快,为什么P2P伤害机械硬盘
  13. 技术负责人 vs产品负责人_产品前的人
  14. 排列组合(9月8日更新
  15. 使用ARouter进行Android模块化开发,详解系列文章
  16. 简单的酒店住房退房管理系统
  17. 如何下载建外街道卫星地图高清版大图
  18. Discuz!X3.4全新安装详细图文教程
  19. 快速掌握的微信运营技巧
  20. delphi for php 教学视频,Delphi for PHP 的遗憾

热门文章

  1. 《 指数基金投资指南 》by 银行螺丝钉 - 笔记 - 3小尾巴~
  2. 公司债务法人代表有义务还吗?
  3. 「Hortic Res」APETALA2的同源物CaFFN可调节辣椒的开花时间
  4. CV 经典主干网络 (Backbone) 系列: 开篇
  5. 计算机一级幻灯片版式,ppt2010官方基础教程:添加不同版式幻灯片-powerpoint技巧-电脑技巧收藏家...
  6. js逆向 空气质量检测平台
  7. 对于rpx的理解和使用
  8. 用Leangoo管理用户故事
  9. Windows 11 上手机!小米 8、一加 6T、微软 Lumia 950 XL 都可以运行
  10. 求 一个 quality center explorer 9.0的 百度网盘 或是别的下载地址的链接