zoukankan      html  css  js  c++  java
  • 005 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);
        }
  • 相关阅读:
    TOJ 2776 CD Making
    int型、long型和long long型
    Hadoop HA- hadoop集群部署
    大数据之路- Hadoop环境搭建(Linux)
    Hadoop HA- zookeeper安装配置
    Zookeeper- Error contacting service. It is probably not running解决方案和原理
    大数据- 自定义Log4j日记
    Hadoop- Hadoop环境搭建
    域名解析
    JAVA- JDBC之DBHelper
  • 原文地址:https://www.cnblogs.com/trekxu/p/9388020.html
Copyright © 2011-2022 走看看