Java8中的Collection接口被扩展,提供了两个获取流的方法:
default Stream<E> stream() :返回一个顺序流
default Stream<E> parallelStream() :返回一个并行流
1创建
1. Collection 提供了两个方法 stream() 与 parallelStream()
List<String> list = new ArrayList<>(); Stream<String> stream = list.stream(); //获取一个顺序流 Stream<String> parallelStream = list.parallelStream(); //获取一个并行流
2. 通过 Arrays 中的 stream() 获取一个数组流
Integer[] nums = new Integer[10]; Stream<Integer> stream1 = Arrays.stream(nums);
3通过 Stream 类中静态方法 of()
Stream<Integer> stream2 = Stream.of(1,2,3,4,5,6);
4创建无限流
//迭代 Stream<Integer> stream3 = Stream.iterate(0, (x) -> x + 2).limit(10); stream3.forEach(System.out::println);
5
//生成 Stream<Double> stream4 = Stream.generate(Math::random).limit(2); stream4.forEach(System.out::println);