1. 可以通过Collection 系列集合提供的 stream() 获取川形流 或 parallelStream() 获取并行流
List<String> list = new ArrayList<>();
Stream<String> stream = list.stream(); //得到stream流
2. 通过Arrays 中的静态方法获取
Person[] person = new Person[10];
Stream<Person> stream1 = Arrays.stream(person);
3. 通过Stream 中的静态方法 of()
Stream<String> stream2 = Stream.of("aa", "bb", "cc");
Stream<Person> stream3 = Stream.of(person);
4. 创建无限流
①: 迭代 Stream.iterate(final T seed, final UnaryOperator f)
// 初始值:0,对0做什么操作
Stream<Integer> stream4 = Stream.iterate(0, (x) -> x + 2);
stream4.forEach(System.out::println);
结果:
0
2
4
6
8
10
12
...省略...
36
38
...
...
...
②: 生成 Stream.generate(Supplier<,T> s)
Stream.generate(() -> Math.random())
.forEach(System.out::println);
结果:
...省略....
0.49989202783749875
0.5874491882203532
0.6886710568746459
0.8074485527923428
0.7164049310102996
0.5872500640018374
0.45956789559197986
0.9907790168290398
0.2661979070192876
0.9538935164794156
0.3622361326805048
...省略....
无限生成.
foreach为终止方法…在此是显示才写上去的