stream实现倒序
时间: 2024-06-01 11:05:51 浏览: 157
在Java中,可以使用Stream API来实现倒序。以下是一个简单的示例:
假设我们有一个List<Integer>列表,我们可以使用`sorted()`方法和`reversed()`方法来创建一个倒序的Stream:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> reversedList = list.stream()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
```
在这个例子中,我们首先创建了一个包含数字的列表,然后使用Stream API创建了一个倒序的Stream。我们使用`sorted()`方法来对Stream进行排序,这里我们使用了`Comparator.reverseOrder()`方法来创建一个逆序的比较器,这将导致元素被倒序排序。最后,我们使用`collect()`方法将Stream中的元素收集到一个新的列表中。
另一个更简洁的方法是使用`sorted()`方法的默认参数,这将返回一个最大元素优先的排序,也就是倒序:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> reversedList = list.stream()
.sorted()
.collect(Collectors.toList());
```
这将返回一个包含数字5、4、3、2、1的列表,这是原始列表的倒序。
请注意,这些方法仅适用于可比较的类型(如整数或字符串)。对于不可比较的类型(如自定义对象),您可能需要使用自定义比较器或使用其他方法来实现倒序。
阅读全文