添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Java内置包装类
7 Java数组处理
7.1 Java数组简介
7.2 Java一维数组
7.3 Java二维数组
7.4 Java多维数组
7.5 Java不规则数组
7.6 Java数组也是一种数据类型
7.7 Java到底有没有多维数组?
7.8 Java Arrays工具类
7.9 Java数组和字符串的相互转换
7.10 Java比较数组
7.11 Java数组填充
7.12 Java数组查找
7.13 Java复制数组
7.14 Java sort()数组排序
7.15 Java冒泡排序法
7.16 Java快速排序法
7.17 Java选择排序法
7.18 Java直接插入排序法
7.19 对Java数组的总结
7.20 Java求数组元素的最大和最小值
7.21 Java数字转人民币读法
7.22 Java统计商品信息
7.23 Java商品信息查询
7.24 Java输出杨辉三角形
7.25 Java五子棋游戏
Java类和对象 Java继承和多态 Java异常处理 Java集合、泛型和枚举 Java反射机制 Java输入/输出流 Java多线程编程 Java网络编程
我们在学习 Java 的过程中肯定会遇到对数组进行升序或降序等排序问题,本节主要介绍如何实现 Java 数组的升序和降序。Java 语言使用 Arrays 类提供的 sort() 方法来对数组进行排序。 使用 java.util.Arrays 类中的 sort() 方法对数组进行升序分为以下两步: 导入 java.util.Arrays 包。 使用 Arrays.sort(数组名) 语法对数组进行排序,排序规则是从小到大,即升序。 假设在数组 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 是一个包装类。大家可以学习《 Java Collections类 》一节详细了解): 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() 方法,代码如下: 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复制数组 Java冒泡排序法 下一页 >
  • socket
  • Python基础教程
  • MySQL函数
  • MySQL
  • C语言入门
  • C语言专题
  • C语言编译器
  • C语言编程实例
  • GCC编译器
  • C语言项目案例
  • C++教程
  • OpenCV
  • Unity 3D教程
  • Redis
  • Android教程
  • JavaScript
  • Mybatis
  • Spring Cloud
  • Maven
  • Spring Boot
  • Spring MVC
  • Hibernate
  • Linux
  • Linux命令
  • Shell脚本
  • Java教程
  • Spring
  • Servlet
  • Struts2
  • Java Swing
  • JSP教程
  • CSS教程
  • TensorFlow
  • Go语言教程
  • Docker
  • VIP视频
  • C++随机数生成器(default_random_engine)用法详解
  • Python zip函数及用法
  • Python可变参数函数用法详解
  • MySQL事务(TRANSACTION)
  • 结合文件描述符谈重定向,彻底理解重定向的本质!
  • Linux已经霸占了服务器领域!
  • Linux LVM(逻辑卷管理)的删除
  • Go语言Cookie的设置与读取
  • Linux rescue救援(光盘修复)模式详解
  •