java中如何创建一个Stream流呢?
下文笔者讲述Java创建stream流的方法及示例分享,如下所示
Stream流简介
Stream是Java 8中引入的一种数据类型 它是一个序列化的数据集合 Stream不是一个数据结构 而是一种用于处理数据的工具 它允许你执行各种操作 例: 过滤、映射、排序和聚合,以便提取所需的信息 Stream具有以下特点: 声明性: 使用Stream时,她的操作代码非常的直观易懂 懒加载: Stream操作不会立即执行 而是在需要的时候才进行计算 采用这种懒加载的方式,使其性能非常卓越 可并行化: Stream操作可以自动并行执行 充分使用多核处理器的性能
Stream流的创建方式
从集合创建Stream 使用集合类的stream方法 或 parallelStream方法来 创建一个Stream流 list<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David"); //从List创建 Stream Stream<String> nameStream = names.stream(); //从Set创建并行Stream Stream<String> parallelNameStream = new HashSet<>(names).parallelStream(); 2.从数组创建 Stream int[] numbers = {11, 22, 33, 44, 55}; //从数组创建IntStream IntStream numberStream = Arrays.stream(numbers); 3.使用 Stream.of 创建 Stream 使用 Stream.of方法 创建包含指定元素的 Stream Stream<String> stream = Stream.of("Apple", "Banana", "Cherry"); 4.使用Stream.generate创建Stream 使用Stream.generate方法可 创建一个无限流 传入一个Supplier函数来生成流中的元素 Stream<String> infiniteStream = Stream.generate(() -> "Hello, World!"); Stream<String> limitedStream = Stream.generate(() -> "Hello, World!").limit(5); 5.使用Stream.iterate创建 Stream 使用Stream.iterate方法 创建一个包含迭代元素Stream 需要提供一个初始元素和一个UnaryOperator函数 Stream<Integer> numbers = Stream.iterate(0, n -> n + 2); 包含偶数的无限流的同时,可使用limit方法来限制流的大小 Stream<Integer> limitedNumbers = Stream.iterate(0, n -> n + 2).limit(10);
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。