Java怎么顺序 或 逆序排序数组
对数组进行顺序排序
可使用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怎么顺序 或 逆序排序数组相关推荐
- python二维数组矩形倒置排序_python二维数组按某行某列顺序、逆序排序
List 1.一维数组 2.二维数组 无论是一维数组还是二维数组都能通过 list 自带的 sort() 函数进行更新,或者直接调用sorted()方法即可. import numpy as np a ...
- Java实验——定义一个类,该类中包含以下几个方法(静态):实现两个字符串数组的逆序排序,输出结果为字符串数组;求两个整形数组的交集;求两个浮点型数组的并集;
目录 一.实现两个字符串数组的逆序排序,输出结果为字符串数组 解题思路: 具体代码: 运行截图: 二.求两个整形数组的交集 具体代码: 运行截图: 三.求两个浮点型数组的并集 解题思路: 具体代码: ...
- Java 正序、逆序排序
Java 如何正序.逆序排序? 这里的知识点包括: Collections.sort() 方法提供集合类正序排序. Collections,reverse() 方法可以将排序好的集合类进行逆序. 如果 ...
- 将一个数组中的值按逆序重新存放。例如,原来的顺序为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个整数,每 ...
- C++ vector 排序 顺序和逆序
C++中对于vector中的元素顺序排序为: std::sort(v.begin(),v.end()); 对于vector中的元素逆序排序为: std::sort(v.rbegin(),v.rend( ...
- 10.14 将n个数按输入输出顺序的逆序排列,用函数实现
将n个数按输入输出顺序的逆序排列,用函数实现. #include <stdio.h>int main(){int n,i;void reverse(int * num, int n);pr ...
- 7-301 sdut- C语言实验-数组逆序(数组移位)
7-301 sdut- C语言实验-数组逆序(数组移位) 分数 16 全屏浏览题目 切换布局 作者 马新娟 单位 山东理工大学 有n个整数,使其最后m个数变成最前面的m个数,其他各数顺序向后移m(m ...
- Java中sort实现降序排序
Java中sort实现降序排序 利用Collections的reverseOrder方法: import java.util.Arrays; import java.util.Collections; ...
- PLC控制电动机的顺序启动逆序停止
一.PLC控制电动机延迟启动正转和反转 实验要求:当按下电动机的正转启动按钮时,电动机需要延迟30秒后,电动机才会正转启动工作:当按下反转按钮时,电动机需要延迟20秒后,电动机才会反转启动工作:当按下 ...
最新文章
- 查看linux mysql 账户权限设置_Linux下mysql新建账号及权限设置各种方式总结
- AI芯片怎么降功耗?从ISSCC2017说起
- torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor
- Java Serializable:明明就一个空的接口嘛
- 数据结构--树形结构(1)
- JVM内存模型及垃圾回收机制
- 计算机管理中无法格式化,Win7电脑无法格式化SD卡怎么办?
- java项目开发的生命周期
- Day01柳婼博客推荐
- 神经网络入门(详细 )
- PCB多层板设计规范
- django+djangorestframework开发代码编辑器
- 深度神经网络识别垃圾邮件
- 35岁的程序员:第9章,女测试
- 我是这样被电麻的:电容降压电路使用和注意事项
- elasticsearch7 分组统计
- Excel信息批量替换Word模板生成新文件
- 手机免流开热点教程(ROOT版)
- Linux 入门视频教程
- Chp1-1 数据结构的基本概念