1、什么是 Stream

Stream 是 Java 8 中引入的最重要的特性之一,它可以极大地提高 Java 程序员的生产力。Stream 是一个来自数据源的元素队列并支持聚合操作,是一个数据处理的管道,它通过管道把数据源的数据传输到目标端,可以看做是一种数据流,它支持顺序和并行两种模式进行操作。

2、Stream 创建的几种方式

Stream 有几种创建的方式,其中最常用的有以下几种:

  • 1、通过 Collection 系列集合提供的 stream() 或 parallelStream() 方法获取:
  • List<String> list = new ArrayList<>();Stream<String> stream1 = list.stream();
    Java
  • 2、通过 Arrays 中的静态方法 stream() 获取数组流:
  • Integer[] nums = new Integer[10];Stream<Integer> stream2 = Arrays.stream(nums);
    Java
  • 3、通过 Stream 类中的静态方法 of()
  • Stream<String> stream3 = Stream.of("a", "b", "c");
    Java
  • 4、创建无限流
    • 迭代:
    • //迭代Stream<Integer> stream4 = Stream.iterate(0, (x) -> x + 2).limit(10);
      Java
    • 生成:
    • //生成Stream<Double> stream5 = Stream.generate(Math::random).limit(2);
      Java

3、Stream 的操作

Stream 操作分为中间操作和终止操作两种,中间操作主要是对数据源的数据进行过滤、排序、转换等操作,而终止操作是从 Stream 流中产生最终结果,终止操作会触发实际的遍历操作。