java8 stream List倒序遍历
时间: 2024-03-26 21:13:59 浏览: 20
要使用Java 8 Stream对List进行倒序遍历,可以使用`Collections.reverseOrder()`方法和`Stream.sorted()`方法来实现。下面是一个示例代码:
```java
List<String> list = Arrays.asList("apple", "banana", "orange", "pear");
list.stream()
.sorted(Collections.reverseOrder())
.forEach(System.out::println);
```
输出结果:
```
pear
orange
banana
apple
```
首先,我们将List转换为一个Stream对象。然后,我们使用`Collections.reverseOrder()`方法创建一个比较器,将元素进行倒序排列。最后,我们使用`forEach()`方法将每个元素打印出来。
相关问题
java 集合倒序遍历
Java中集合倒序遍历可以使用Collections类中的reverseOrder()方法和Collections.reverse()方法来实现。
以下是使用ArrayList作为示例集合的代码:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ReverseTraversalExample {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("one");
list.add("two");
list.add("three");
list.add("four");
// 使用Collections.reverseOrder()方法,从大到小遍历
System.out.println("倒序遍历1:");
list.stream().sorted(Collections.reverseOrder()).forEach(System.out::println);
// 使用Collections.reverse()方法,从后向前遍历
System.out.println("倒序遍历2:");
Collections.reverse(list);
for (String str : list) {
System.out.println(str);
}
}
}
```
输出结果:
```
倒序遍历1:
two
three
one
four
倒序遍历2:
four
three
two
one
```
其中,使用Collections.reverseOrder()方法时,需要将集合转化为流,然后使用sorted方法对其进行排序,最后使用forEach方法遍历输出。
而使用Collections.reverse()方法则是直接对集合进行反转,然后使用for-each循环遍历输出。
java list stream sorted 倒序
要对Java List Stream进行倒序排序,可以使用Stream API中的 `sorted` 方法和 `Comparator` 接口的 `reversed` 方法。以下是一个示例代码:
```java
List<Integer> numbers = Arrays.asList(2, 4, 1, 3, 5);
List<Integer> reversedNumbers = numbers.stream()
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
System.out.println(reversedNumbers);
```
输出:
```
[5, 4, 3, 2, 1]
```
在上面的代码中,我们首先将List转换为Stream,然后使用 `sorted` 方法对其进行排序。我们传入 `Comparator.reverseOrder()` 作为参数,以获得一个反向的Comparator。最后,我们将结果收集到一个新的List中,并将其打印出来。
通过这种方式,您可以对任何类型的Java List进行倒序排序。只需将 `Comparator` 接口替换为适当的类型即可。