Java的Stream API是Java 8引入的一种新的数据处理方式,允许以函数式编程风格对集合进行操作。Stream API提供了一系列方法来对数据进行过滤、映射、排序、聚合等操作。Stream API的主要优点是简洁、易读和并行处理能力。
以下是使用Stream API的一个示例:
List numbers = Arrays.asList(1, 2, 3, 4, 5);
List evenNumbers = numbers.stream()
.filter(n -> n % 2 == 0)
.collect(Collectors.toList());
在这个示例中,我们使用stream()方法创建了一个Stream,然后使用filter()方法过滤出偶数,最后使用collect()方法将结果收集到一个新的列表中。
Stream API的主要方法包括:
filter(Predicate):过滤满足条件的元素
map(Function<T, R>):将元素转换为另一种类型
flatMap(Function<T, Stream>):将元素转换为Stream并将结果合并
sorted(Comparator):对元素进行排序
distinct():去除重复元素
limit(long):截取前n个元素
skip(long):跳过前n个元素
reduce(BinaryOperator):将元素聚合为一个值
collect(Collector<T, A, R>):将元素收集到一个结果容器中
Stream API还支持并行处理,通过调用parallelStream()方法创建并行Stream,可以利用多核处理器提高处理速度。注意,使用并行Stream时要确保操作是线程安全的。