stream 替代迭代器
时间: 2023-12-27 17:25:10 浏览: 35
Stream是Java 8中新增的一个接口,用于简化集合或数组的筛选、排序、聚合等操作,可以看作是迭代器的替代方案。相比于传统的迭代器,Stream提供了更加简洁、高效的操作方式。
要获得Stream对象,可以通过集合或数组的stream()方法来获取。例如,对于一个List集合,可以使用stream()方法来获取一个Stream对象,然后可以对该Stream对象进行各种操作。
下面是一个示例,展示了如何使用Stream替代迭代器来对一个List集合进行筛选和排序的操作:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 使用Stream筛选出大于5的数字
List<Integer> filteredNumbers = numbers.stream()
.filter(n -> n > 5)
.collect(Collectors.toList());
System.out.println("Filtered numbers: " + filteredNumbers); // 输出:Filtered numbers: [6, 7, 8, 9, 10]
// 使用Stream对数字进行排序
List<Integer> sortedNumbers = numbers.stream()
.sorted()
.collect(Collectors.toList());
System.out.println("Sorted numbers: " + sortedNumbers); // 输出:Sorted numbers: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
}
}
```
通过使用Stream,我们可以通过链式调用的方式对集合进行多个操作,使得代码更加简洁和易读。