美文网首页
流式编程

流式编程

作者: 逢栲怭過 | 来源:发表于2020-04-09 20:08 被阅读0次

创建流8种方法

1.创建空流 这个方法经常被用在创建一个不含元素的空的流进行返回,避免返回null

    private static <T>Stream createEmptyStream(T t){
        Stream<T> stream = Stream.empty();
        return stream;
    }

2.从集合中创建流

    private static Stream createCollectionStream(){
        Collection<String> collection = Arrays.asList("JAVA", "J2EE", "Spring", "Hibernate");
        return  collection.stream();
    }

3.从数组中创建流

   private static Stream createArrayStream(){
        // 数组作为Stream源
        Stream<String> streamOfArray = Stream.of("a", "b", "c");
        streamOfArray.forEach(System.out::println);
        // 从数组或者数组的部分元素中创建流
        String[] arr = new String[] { "a", "b", "c" };
        Stream<String> streamOfArrayFull = Arrays.stream(arr);
        return null;
    }

4.Stream.builder()创建流

  private static Stream createBuilderStream(){
        Stream<String> streamBuilder = Stream.<String>builder().add("a").add("b").add("c").build();
        streamBuilder.forEach(System.out::println);
        return null;
    }

5.使用Stream.generate()

   private static Stream createGenerateStream(){
        Stream<String> streamGenerated = Stream.generate(() -> "element1").limit(10);

        streamGenerated.forEach(System.out::println);
        return  null;
    }

6.使用Stream.iterate()

   private static Stream createIterateStream(){
        Stream<Integer> streamIterated = Stream.iterate(1, n -> n + 2).limit(5);
        streamIterated.forEach(System.out::println);
        return  null;
    }

7.文件获取流

    public static Stream<String> createFileStream() throws IOException {
        Path path = Paths.get("D:\\data\\test.txt");
        Stream<String> streamOfStrings = Files.lines(path);
        Stream<String> streamWithCharset = Files.lines(path, Charset.forName("UTF-8"));
//        streamOfStrings.forEach(System.out::println);
//        streamWithCharset.forEach(System.out::println);
//        streamOfStrings.close();
//        streamWithCharset.close();
        return streamWithCharset;
    }

8.从数据中获取

    private static Stream createCreationStream() throws IOException {
        IntStream intStream = IntStream.range(1, 4);
        intStream.forEach(System.out::println);

        LongStream longStream = LongStream.rangeClosed(1, 5);
        longStream.forEach(System.out::println);

        Random random = new Random();
        DoubleStream doubleStream = random.doubles(2);
        doubleStream.forEach(System.out::println);

        return null;
    }

9.正则表达式生成流

  public static Stream<String> createRegexStream() throws IOException {
        Path path = Paths.get("D:\\data\\test.txt");
        String streamOfStrings = Files.lines(path).collect(Collectors.joining(""));
        Stream<String>  stringStream= compile("[.]+}").splitAsStream(streamOfStrings);
//        Stream<String> streamWithCharset = Files.lines(path, Charset.forName("UTF-8"));
//        stringStream.forEach(System.out::println);
        return stringStream;
    }

相关文章

  • 流式编程

    日常使用 前言:依旧使用购物车的数据 生成流的方式 收集器 收集器:将流的元素累计成一个结果比如:将筛选过的数据,...

  • 流式编程

    创建流8种方法 1.创建空流 这个方法经常被用在创建一个不含元素的空的流进行返回,避免返回null 2.从集合中创...

  • Java核心教程5: 流式编程

    本次课程的标题不像之前那样易懂,是一个陌生的概念,“流式编程”是个什么东西? 在了解流式编程之前先思考一下“流”,...

  • 流式数据处理

    流式数据处理的应用场景,包括基本概念和处理方式;也介绍了流式处理系统常见的编程模型和框架,最后介绍了流式数据处理的...

  • 十二、从Camel中学习Flunt Api设计

    以下为我目前对流式编程的理解。 一、 流式的好处 更接近与自然语言; 操作连贯,一行搞定(如Builder); 二...

  • io流&流式编程

    跟C++的流有什么区别? 百度搜索(C++ java 流 stream)(理解java中的流) C++流的原理:可...

  • Spark流式编程介绍 - 编程模型

    来源Spark官方文档http://spark.apache.org/docs/latest/structured...

  • jdk8的Stream学习之创建流

    JDK8的流式编程来来回回走马观花也看了几遍了。工作中一般的集合类操作能用流式操作的也都用流式操作。今天正儿八经的...

  • Kotlin Flow 的基本用法

    Kotlin 的 Flow 用于流式编程。 Flow 基本使用 输出: Flow 生命周期 输出: Flow 发生...

  • RxJava原理解析

    rxJava的思维 响应式编程,卡片式编程,流式编程,有一个起点和一个终点,起点开始流向我们的“事件”, 把事件流...

网友评论

      本文标题:流式编程

      本文链接:https://www.haomeiwen.com/subject/lqggphtx.html