package com.expgiga.Java8;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;
/**
* Java8 Stream
*
* 一、Stream的三个操作步骤:
* 1. 创建Stream
* 2. 中间操作
* 3. 终止操作(终端操作)
*
*/
public class TestStream {
public static void main(String[] args) {
/*
* 1.创建Stream: 四种方式
*/
//1.1可以通过Collection 系列的集合提供的stream()或 parallelStream()
List<String> list = new ArrayList<>();
Stream<String> stream1 = list.stream();
//1.2通过Arrays中的静态方法stream()获取数组流
Employee[] emps = new Employee[10];
Stream<Employee> stream2 = Arrays.stream(emps);
//1.3通过Stream类中的静态方法of()
Stream<String> stream3 = Stream.of("aa", "bb", "cc");
//1.4创建无限流
//迭代
Stream<Integer> stream4 = Stream.iterate(0, (x) -> x + 2);
stream4.limit(10).forEach(System.out::println);
//生成
Stream.generate(() -> (int)(Math.random()))
.limit(5)
.forEach(System.out::println);
}
}