Java8 新特性 Stream() 创建流

通过Controllere类的Stream()和parallelStream()创建流

//通过集合创建流
    @Test
    public void test1() {
        String arr[] = new String[]{"a", "b", "c"};
        //把数组转换成集合
        List<String> list = Arrays.asList(arr);
        //生成stream流(串行流)
        Stream<String> stream = list.stream();
        //生成并行流
        Stream<String> stringStream = list.parallelStream();
    }

通过数组创建流

    @Test
    public void test2() {
        String arr[] = new String[]{"a", "b", "c"};
        //通过数据里面的stream()方法来创建的
        Stream<String> stream = Arrays.stream(arr);
        //通过Stream类的静态方法创建方法
        Stream<String> arr1 = Stream.of(arr);
    }

创建一个空的流

    @Test
    public void test3() {
        //创建一个空流
        Stream<Object> empty = Stream.empty();
    }

无限流

    @Test
    public void test4() {
        //生成一个全是G的无限流
        //参数是一个supplier函数式接口,不接收参数,只管生产
        //可以根据自己的要求来创建流
        Stream<String> generate = Stream.generate(() -> "G");
        System.out.println("生成5个全是G的流:");
        generate.limit(5).forEach(System.out::println);

        //生成一个
        //根据初始化生成的值,最后的一个输出的是2的9次方
        Stream<Integer> iterate = Stream.iterate(1, (x) -> x * 2);
        iterate.limit(10).forEach(System.out::println);
        /**
         * 1
         * 2
         * 4
         * 8
         * 16
         * 32
         * 64
         * 128
         * 256
         * 512
         */
    }



细节决定成败!

个人愚见,如有不对,恳请扶正!

猜你喜欢

转载自www.cnblogs.com/xdtg/p/11994642.html