Stream的创建以及使用

一、描述

        JKD1.8新增的接口,可以实现对数组、集合等类似于spark算子的所有操作。

二、创建Stream对象

        // 1.通过数组创建
        String[] arr = {"a", "b", "c", "d", "e"};
        Stream streamArr = Stream.of(arr);

        // 2.通过集合创建
        Collection collection = Arrays.asList("a", "b", "c", "d", "e");
        Stream streamCollection = collection.stream();

        // 3.通过Stream.generate()
        Stream generate = Stream.generate(() -> 1);

        // 4.通过Stream.iterate()
        Stream integerStream = Stream.iterate(1, x -> x + 1);

        最常用的是前两种。 

三、并行流的使用

        Stream接口的并行流的使用:

        /**
         * parallel()方法是Stream接口的并行流
         */
        Optional max = Stream.iterate(1, x -> x + 1).limit(200).peek(x -> {
            System.out.println(Thread.currentThread().getName());
        }).parallel().max(Integer::compareTo);
        System.out.println(max);

 

 

你可能感兴趣的:(JDK1.8新特性,JAVA基础)