当前位置:首页 > Java

java如何降序

2026-03-17 22:23:15Java

数组降序排序

使用 Arrays.sort() 结合自定义比较器对数组进行降序排序:

java如何降序

import java.util.Arrays;
import java.util.Collections;

// 对Integer数组降序
Integer[] arr = {5, 2, 9, 1};
Arrays.sort(arr, Collections.reverseOrder());

// 对int数组降序需要转为Integer
int[] primitiveArr = {5, 2, 9, 1};
Integer[] boxedArr = Arrays.stream(primitiveArr).boxed().toArray(Integer[]::new);
Arrays.sort(boxedArr, Collections.reverseOrder());

集合降序排序

使用 Collections.sort() 或流的 sorted() 方法对集合降序:

java如何降序

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

List<Integer> list = new ArrayList<>(Arrays.asList(5, 2, 9, 1));

// 方法1
Collections.sort(list, Comparator.reverseOrder());

// 方法2
list.sort(Comparator.reverseOrder());

// 方法3:使用Stream
List<Integer> sortedList = list.stream()
    .sorted(Comparator.reverseOrder())
    .collect(Collectors.toList());

自定义对象排序

实现 Comparator 接口对自定义对象按字段降序:

class Person {
    String name;
    int age;
    // 构造方法/getters省略
}

List<Person> people = Arrays.asList(
    new Person("Alice", 25),
    new Person("Bob", 30)
);

// 按age降序
people.sort(Comparator.comparingInt(Person::getAge).reversed());

// 多字段排序:先按name升序,再按age降序
people.sort(Comparator
    .comparing(Person::getName)
    .thenComparing(Comparator.comparingInt(Person::getAge).reversed())
);

注意事项

  • 基本类型数组(如 int[])需要先转换为包装类数组才能使用 Collections.reverseOrder()
  • 使用 Comparator.reversed() 可以反转任何比较器的顺序
  • 对于自定义排序规则,建议实现 Comparator 接口而非修改对象的 compareTo 方法

标签: 降序java
分享给朋友:

相关文章

java如何安装

java如何安装

安装Java的步骤 下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面下载适合操作系统的JDK版本。Oracle JDK适用于商业用途,OpenJDK是开源版本。选择…

如何安装java

如何安装java

下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK下载页面,选择适合操作系统的版本(Windows、macOS或Linux)。推荐下载最新的长期支持(LTS)版本,如Java…

java如何读取文件

java如何读取文件

读取文件的常用方法 Java提供了多种读取文件的方式,适用于不同场景和需求。以下是几种常见的方法: 使用FileInputStream和BufferedInputStream读取二进制文件…

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右键…

java如何输出数组

java如何输出数组

输出数组的方法 在Java中,输出数组内容有多种方式,具体取决于数组类型和输出格式需求。以下是几种常见的方法: 使用Arrays.toString()方法 适用于一维数组,直接调用Arrays.to…

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…