概述
Java 用 sort 实现对数组的升序和降序排序
- 一、ArrayList 的升序与降序
- 二、数组升序
- 三、数组降序
- 方法一
- 方法二
一、ArrayList 的升序与降序
升序:Collections.sort(arr)
降序:Collections.sort(arr,Collections.reverseOrder())
注:reverse()是倒序
String str = "qwewq";
String str1 =new StringBuilder(str).reverse().toString();
二、数组升序
使用 java.util.Arrays 类中的 sort() 方法对数组进行升序
Arrays.sort(array)
对数组进行排序,排序规则是从小到大,即升序。
用例:
假设在数组 scores 中存放了 5 名学生的成绩,现在要实现从低到高排列的功能。在这里使用 Arrays.sort() 方法来实现,具体代码如下:
public static void main(String[] args) {
// 定义含有5个元素的数组
double[] scores = new double[] { 78, 45, 85, 97, 87 };
System.out.println("排序前数组内容如下:");
// 对scores数组进行循环遍历
for (int i = 0; i < scores.length; i++) {
System.out.print(scores[i] + "t");
}
System.out.println("n排序后的数组内容如下:");
// 对数组进行排序
Arrays.sort(scores);
// 遍历排序后的数组
for (int j = 0; j < scores.length; j++) {
System.out.print(scores[j] + "t");
}
}
如上述代码所示,要对一个数组进行升序排列,只需要调用 Arrays.sort() 方法即可。运行后的输出结果如下所示。
排序前数组内容如下:
78.0
45.0
85.0
97.0
87.0
排序后的数组内容如下:
45.0
78.0
85.0
87.0
97.0
三、数组降序
在 Java 语言中使用 sort 实现降序有两种方法,简单了解即可。
方法一
1)利用 Collections.reverseOrder() 方法(Collections 是一个包装类):
import java.util.*;
public static void main(String[] args) {
Integer[] a = { 9, 8, 7, 2, 3, 4, 1, 0, 6, 5 };
// 数组类型为Integer
Arrays.sort(a, Collections.reverseOrder());
for (int arr : a) {
System.out.print(arr + " ");
}
}
输出结果如下:
9 8 7 6 5 4 3 2 1 0
方法二
2)实现 Comparator 接口的复写 compare() 方法,代码如下:
import java.util.*;
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 arr : a) {
System.out.print(arr + " ");
}
}
}
// 实现Comparator接口
class MyComparator implements Comparator<Integer> {
@Override
public int compare(Integer o1, Integer o2) {
/*
* 如果o1小于o2,我们就返回正值,如果o1大于o2我们就返回负值, 这样颠倒一下,就可以实现降序排序了,反之即可自定义升序排序了
*/
return o2 - o1;
}
}
输出结果如下所示。
9 8 7 6 5 4 3 2 1 0
注意:使用以上两种方法时,数组必须是包装类型,否则会编译不通过。
在 Java 中实现数组排序的方式很多,除了利用以上的几种方法外,还可以编写自定义方法来实现自己的排序算法,有兴趣的读者可以尝试编写。
最后
以上就是迅速摩托为你收集整理的【Java】用sort实现对数组的升序和降序排序的全部内容,希望文章能够帮你解决【Java】用sort实现对数组的升序和降序排序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复