[Java 基础] Java Stream

发布时间:2023年12月21日

Java Stream 是 Java 8 引入的新特性之一,它提供了一种新的处理数据集合的方式。Stream 可以使我们更加方便地对集合进行处理和操作,同时还能提高代码的简洁性和可读性。


什么是 Stream

Stream 是对集合功能的增强,它并不是数据结构,不会保存数据。它可以从集合中获得许多流式处理的优势,如过滤、映射、排序和归约等操作。

常见用法

创建 Stream

Stream 可以通过调用集合对象的 stream() 方法来创建。例如:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
Stream<Integer> stream = numbers.stream();

中间操作

中间操作是 Stream 的一种特殊操作,它可以对 Stream 进行转换和处理,但并不会立即执行。常见的中间操作有:

  • filter(Predicate<T> predicate): 过滤掉不满足条件的元素。
  • map(Function<T, R> mapper): 将元素通过给定的函数进行转换。
  • sorted(Comparator<T> comparator): 对元素进行排序。
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
Stream<Integer> stream = numbers.stream().filter(n -> n % 2 == 0).map(n -> n * n).sorted();

终端操作

终端操作是 Stream 的最后一步操作,它会触发 Stream 的执行。常见的终端操作有:

  • forEach(Consumer<T> action): 对每个元素执行给定的操作。
  • collect(Collector<T, A, R> collector): 将 Stream 中的元素转换为一个结果集合。
  • count(): 返回 Stream 中的元素个数。
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.stream().forEach(System.out::println);
int sum = numbers.stream().filter(n -> n % 2 == 0).mapToInt(Integer::intValue).sum();

总结

Java Stream 是一种简化集合处理的方式,它提供了丰富的操作方法来处理集合中的元素。通过中间操作和终端操作的组合,我们可以轻松地实现各种集合处理需求。Stream 的引入大大简化了代码的编写过程,提高了代码的可读性和可维护性。

文章来源:https://blog.csdn.net/qq_45704048/article/details/135120148
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。