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);
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


