流的构建方式
java
it书童
2021-01-14 16:16:06
0赞
0踩
182阅读
0评论
-
由值创建流
-
由数组创建流
-
由文件生成流
-
由函数生成流(无限流)
package stream;
import org.junit.Test;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class StreamConstructor {
/**
* 由数值直接构建流
*/
@Test
public void streamFromValue() {
Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5);
stream.forEach(System.out::println);
}
/**
* 通过数组构建流
*/
@Test
public void streamFromArray() {
int[] numbers = {1, 2, 3, 4, 5};
IntStream stream = Arrays.stream(numbers);
stream.forEach(System.out::println);
}
/**
* 通过文件构建流
* @throws IOException
*/
@Test
public void streamFromFile() throws IOException {
Stream<String> stream = Files.lines(Paths.get("/Users/senlongzhong/code/demo/javaDemo/src/main/java/stream/StreamConstructor.java"));
stream.forEach(System.out::println);
}
/**
* 通过函数构建流
*/
@Test
public void streamForFunction() {
// 第一种方式
// 生成由无限个偶数生成的流
Stream<Integer> stream1 = Stream.iterate(0, n -> n + 2);
// 第二种方式
Stream<Double> stream2 = Stream.generate(Math::random);
// 生成的是无限流,需要用 limit 限制个数
stream1.limit(3).forEach(System.out::println);
stream2.limit(3).forEach(System.out::println);
}
}

关于我
一个文科出身的程序员,追求做个有趣的人,传播有价值的知识,微信公众号主要分享读书思考心得,不会有代码类文章,非程序员的同学请放心订阅
转载须注明出处:https://www.itshutong.com/articles/1025
精品付费
这一次,真正掌握composer
1600
0
个人开发者通过payjs接入微信支付
2816
0
相关推荐
Java 的 Scanner 对象
221
0
Java System 类如何使用
194
0
Java List集合介绍
190
0
Java 实现递归
305
0
Java 网络编程入门
226
0
spring 关于生命周期的注解
182
0
spring 使用事务实现转账小案例
200
0
模拟微服务的问题
177
0
idea debug 断点调试技巧
140
0
线程池-治理线程的最大法宝
138
0
atomic包-原子类
198
0
CAS-不可中断的典范
176
0
spring 文档都不读,就想读懂源码?
150
0