Java 中如何使用 Stream 进行排序
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 进行排序操作,代码非常简洁,并且可以根据需求自定义排序规则,是一种非常高效的排序方式。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。