Java Stream API 是 Java 8 引入的一个核心特性,它提供了一种高效、声明式的方式来处理数据集合(如 List、Set)。Stream API 可以让你以声明式方式处理数据集合(通过查询/映射/归约等操作),它关注于做什么而不是怎么做。下面详细介绍 Java Stream API 的一些基本用法。
1. 创建 Stream
- 从集合创建:可以通过
Collection.stream()
或Collection.parallelStream()
来获取一个流。 - 从数组创建:使用
Arrays.stream(T[] array)
或Stream.of(T... values)
。 - 从值创建:使用
Stream.of(T t)
或Stream.empty()
。 - 从文件或生成器:使用
Files.lines(Path path)
或IntStream.generate(Supplier<Integer> s)
。
2. 中间操作
中间操作返回一个新的流,并且可以是惰性的(即操作仅在需要结果时才执行)。
- 过滤:
filter(Predicate<? super T> predicate)
- 映射:
map(Function<? super T, ? extends R> mapper)