对数组进行顺序排序

可使用Arrays类的sort( int[ ] a) 方法

Arrays.sort(a, cmp);

对数组进行倒序排序

使用实现Comparator接口:

排序时,只需要在sort方法中,传入要排序的数组和一个比较器对象即可

public class Test {public static void main(String[] args) {// 注意,要想改变默认的排列顺序,不能使用基本类型(int,double, char)// 而要使用它们对应的类Integer[] a = { 9, 8, 7, 2, 3, 4, 1, 0, 6, 5 };// 定义一个自定义类MyComparator的对象Comparator cmp = new MyComparator();Arrays.sort(a, cmp);for (int i = 0; i < a.length; i++) {System.out.print(a[i] + " ");}}
}// Comparator是一个接口
//Comparator是一个比较器
//Comparator中的compare可以将传入进行比对,按照返回的参数大于(1)等于(0)小于(-1)进行排序
//默认情况下返回1的在后,返回-1的在前
//如果我们需要逆序,只要把返回值-1和1的换位置即可。
class MyComparator implements Comparator<Integer> {public int compare(Integer o1, Integer o2) {// 如果o1小于o2,我们就返回正值,如果n1大于n2我们就返回负值,if (o1 < o2) {return 1;} else if (o1 > o2) {return -1;} else {return 0;}}
}

也可以直接在sort方法中传入java中提供的逆序比较器

Collections.reverseOrder();API的解释:
返回一个比较器,它强行逆转实现了 Comparable 接口的对象 collection 的自然顺序。(自然顺序是通过对象自身的 compareTo 方法强行排序的。)此方法允许使用单个语句,以逆自然顺序对实现了 Comparable 接口的对象 collection(或数组)进行排序(或维护)。例如,假设 a 是一个字符串数组。那么:
                Arrays.sort(a, Collections.reverseOrder());
将按照逆字典(字母)顺序对数组进行排序。

返回的比较器是可序列化的。

public class Test {public static void main(String[] args) {Integer[] A={10,23,42,12,20,6};Arrays.sort(A,Collections.reverseOrder());for(int a : A){System.out.println(a);}}
}

Java怎么顺序 或 逆序排序数组相关推荐

  1. python二维数组矩形倒置排序_python二维数组按某行某列顺序、逆序排序

    List 1.一维数组 2.二维数组 无论是一维数组还是二维数组都能通过 list 自带的 sort() 函数进行更新,或者直接调用sorted()方法即可. import numpy as np a ...

  2. Java实验——定义一个类,该类中包含以下几个方法(静态):实现两个字符串数组的逆序排序,输出结果为字符串数组;求两个整形数组的交集;求两个浮点型数组的并集;

    目录 一.实现两个字符串数组的逆序排序,输出结果为字符串数组 解题思路: 具体代码: 运行截图: 二.求两个整形数组的交集 具体代码: 运行截图: 三.求两个浮点型数组的并集 解题思路: 具体代码: ...

  3. Java 正序、逆序排序

    Java 如何正序.逆序排序? 这里的知识点包括: Collections.sort() 方法提供集合类正序排序. Collections,reverse() 方法可以将排序好的集合类进行逆序. 如果 ...

  4. 将一个数组中的值按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求改为1,4,5,6,8。输出逆序后数组的整数,每两个整数之间用空格分隔。

    描述 将一个数组中的值按逆序重新存放.例如,原来的顺序为8,6,5,4,1.要求改为1,4,5,6,8. 输入 输入为两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每 ...

  5. C++ vector 排序 顺序和逆序

    C++中对于vector中的元素顺序排序为: std::sort(v.begin(),v.end()); 对于vector中的元素逆序排序为: std::sort(v.rbegin(),v.rend( ...

  6. 10.14 将n个数按输入输出顺序的逆序排列,用函数实现

    将n个数按输入输出顺序的逆序排列,用函数实现. #include <stdio.h>int main(){int n,i;void reverse(int * num, int n);pr ...

  7. 7-301 sdut- C语言实验-数组逆序(数组移位)

    7-301 sdut- C语言实验-数组逆序(数组移位) 分数 16 全屏浏览题目 切换布局 作者 马新娟 单位 山东理工大学 有n个整数,使其最后m个数变成最前面的m个数,其他各数顺序向后移m(m ...

  8. Java中sort实现降序排序

    Java中sort实现降序排序 利用Collections的reverseOrder方法: import java.util.Arrays; import java.util.Collections; ...

  9. PLC控制电动机的顺序启动逆序停止

    一.PLC控制电动机延迟启动正转和反转 实验要求:当按下电动机的正转启动按钮时,电动机需要延迟30秒后,电动机才会正转启动工作:当按下反转按钮时,电动机需要延迟20秒后,电动机才会反转启动工作:当按下 ...

最新文章

  1. 查看linux mysql 账户权限设置_Linux下mysql新建账号及权限设置各种方式总结
  2. AI芯片怎么降功耗?从ISSCC2017说起
  3. torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor
  4. Java Serializable:明明就一个空的接口嘛
  5. 数据结构--树形结构(1)
  6. JVM内存模型及垃圾回收机制
  7. 计算机管理中无法格式化,Win7电脑无法格式化SD卡怎么办?
  8. java项目开发的生命周期
  9. Day01柳婼博客推荐
  10. 神经网络入门(详细 )
  11. PCB多层板设计规范
  12. django+djangorestframework开发代码编辑器
  13. 深度神经网络识别垃圾邮件
  14. 35岁的程序员:第9章,女测试
  15. 我是这样被电麻的:电容降压电路使用和注意事项
  16. elasticsearch7 分组统计
  17. Excel信息批量替换Word模板生成新文件
  18. 手机免流开热点教程(ROOT版)
  19. Linux 入门视频教程
  20. Chp1-1 数据结构的基本概念

热门文章

  1. vue 给圆遮盖物添加文字 高德地图_【高德地图开发4】---增加覆盖物setMapTextZIndex...
  2. 梅科尔工作室-李庆浩 深度学习-KNN算法
  3. [数字图像处理]图像复原--逆滤波
  4. 【svn】 如何在Linux服务器上添加svn账户的教程
  5. opencv分离RGB三通道
  6. 【论文精读】MVSTER
  7. Cadence快速画原理图封装(适合复杂器件)
  8. 常用正则表达式大全 (转)
  9. 吹筒仔海钓纪实,来自陆丰陆丰公众号
  10. 原来变压器可以用来调节阻抗匹配!