2016 - 2024

感恩一路有你

Java 中如何使用 Stream 进行排序

浏览量:3186 时间:2024-08-18 23:57:04 作者:采采

JDK 8 中开发的 Stream 为 Java 提供了强大的流处理功能,可以进行过滤、遍历、转换、排序等操作。在日常的开发中,使用 Stream 进行排序是一个非常常见的需求。

示例代码

1. 新建一个类 ``

2. 声明一个数组 `array`,包含若干元素

3. 将 `array` 转成流,并调用 `sorted()` 方法进行排序

4. 将转成的流转回成数组

5. 将这个经过流处理后获得的数组打印出来

6. 运行程序,可以看到数组已经完成了排序

下面是具体的代码实现:

```java

public class TestStreamSort {

public static void main(String[] args) {

// 声明一个数组

int[] array {5, 2, 9, 1, 7};

// 将数组转成流进行排序

int[] sortedArray (array)

.sorted()

.toArray();

// 打印排序后的数组

((sortedArray)); // 输出:[1, 2, 5, 7, 9]

}

}

```

从上述代码可以看出,使用 Stream 进行排序非常简洁。只需要调用 `sorted()` 方法即可完成排序操作,无需编写复杂的比较逻辑。

排序规则自定义

除了默认的升序排序,我们还可以自定义排序规则。比如,需要进行降序排序,只需要在 `sorted()` 方法中传入一个 `Comparator` 参数即可:

```java

int[] sortedArray (array)

.sorted((a, b) -> b - a) // 降序排序

.toArray();

```

通过传入 `(a, b) -> b - a` 的 `Comparator` 实现,可以实现降序排序。

总的来说,使用 Java 8 中的 Stream 进行排序操作,代码非常简洁,并且可以根据需求自定义排序规则,是一种非常高效的排序方式。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。