stream流实现排序
时间: 2023-08-19 10:07:14 浏览: 110
排序算法实现
4星 · 用户满意度95%
stream流可以很方便地实现排序操作。在Java中,可以使用Stream API来进行排序。下面是一个示例代码,演示了如何使用stream流进行排序:
```java
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
public class StreamSortExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(5, 2, 8, 1, 9, 3);
// 升序排序
List<Integer> sortedAsc = numbers.stream()
.sorted()
.toList();
System.out.println("升序排序结果:" + sortedAsc);
// 降序排序
List<Integer> sortedDesc = numbers.stream()
.sorted(Comparator.reverseOrder())
.toList();
System.out.println("降序排序结果:" + sortedDesc);
}
}
```
在上面的示例中,我们首先创建了一个包含一些整数的列表。然后使用`stream()`方法将列表转换为Stream对象。接下来,我们使用`sorted()`方法对流进行排序。可以使用默认的自然排序,也可以通过传递自定义的比较器来指定排序规则。最后,我们使用`toList()`方法将排序后的流转换为列表并打印出来。
运行上述代码将输出:
```
升序排序结果:[1, 2, 3, 5, 8, 9]
降序排序结果:[9, 8, 5, 3, 2, 1]
```
这样,我们就利用stream流实现了排序操作。你可以根据自己的需求,使用不同的比较器来实现各种不同的排序方式。
阅读全文