003 stream的创建

Posted trekxu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了003 stream的创建相关的知识,希望对你有一定的参考价值。

一 概述

  在我们使用Stream之前,我们首先就需要获得一个Stream.

在标准的Stream之中,我们可以通过下面的Stream获取Stream.

    //创建stream的方式
    
    //1.Collection接口
    /**
     *  default Stream<E> stream() {
        return StreamSupport.stream(spliterator(), false);
    }    
     */
    // 在jdk1.8之后,我们的Collection之中提供了Stream的创建方法
    
    @Test
    public void test1() {
        List<String> list = Arrays.asList("string","trek");
        list.stream().forEach(System.out :: println);
    }
    
    //2
    //Stream接口之中拥有了of方法,可以创建一个含有指定数量元素的stream
    
    @Test
    public void test2() {
        Stream<String> stream = Stream.of(new String[]{"string","trek"});
        stream.forEach(System.out :: println);
    }
    
    /**
     * 3 .我们使用的数组其实也是一种Stream
     *  ,因此在我们的数组工具类之中也提供了相应的方法创建Stream
     */
    @Test
    public void test3() {
        String[] arr = new String[] {"aaaa","bbbb"};
        Stream<String> stream = Arrays.stream(arr);
        stream.forEach(System.out::println);
    }
    
    /**
     * 从文件之中获取Stream
     * 这个其实我们可能会使用的比较多
     * @throws IOException 
     */
    @Test
    public void test4() throws IOException {
        Path path = Paths.get("E:\trek\trek.js");
        try(Stream<String> stream = Files.lines(path)){
            stream.forEach(System.out::println);
        }
    }
    
    
    /**
     * 通过无限流获取Stream
     * 现在展示的就是iterate()方法获取无限流
     */
    @Test
    public void test5() {
        Stream<Integer> stream = Stream.iterate(1, n -> n+1).limit(20);
        stream.forEach(System.out::println);
    }
    
    /**
     * 通过generate()方法获取无限流
     */
    @Test
    public void test6() {
        Stream<Double> stream = Stream.generate(Math::random).limit(20);
        stream.forEach(System.out::println);
    }

 

以上是关于003 stream的创建的主要内容,如果未能解决你的问题,请参考以下文章

[新增EA003考勤系统演示片段]全程字幕-22套UML+Enterprise Architect建模示范视频

read ECONNRESET at TLSWrap.onStreamRead (internal/stream_base_commons.js:209:20) { errno: -4077(代码片段

Java8 Stream流

从Node.js Stream写入多个文件

创建自己的代码片段(CodeSnippet)

webstorm代码片段的创建