zoukankan      html  css  js  c++  java
  • java8的stream类

    Stream 是用函数式编程方式在集合类上进行复杂操作的工具。 

    1.collect(toList())

     由 Stream 里的值生成一个列表 

    List<String> collected = Stream.of("a", "b", "c")
                                   .collect(Collectors.toList()); 

     2.map

    将一个流中的值转换成一个新的流

    List<String> collected = Stream.of("a", "b", "hello")
                                   .map(string -> string.toUpperCase())
                                   .collect(toList());

     3.filter

    符合条件的值被保留下来

    List<String> beginningWithNumbers = Stream.of("a", "1abc", "abc1")
                                              .filter(value -> isDigit(value.charAt(0)))
                                              .collect(toList());

    4.flatmap

    首先将输入数据扁平化,然后再对flat后的值进行map操作

    5.max、min

    Track shortestTrack = tracks.stream()
                                .min(Comparator.comparing(track -> track.getLength()))
                                .get(); 

    总结:

    • 内部迭代将更多控制权交给了集合类。

    • 和 Iterator 类似,Stream 是一种内部迭代方式。

    • 将 Lambda 表达式和 Stream 上的方法结合起来,可以完成很多常见的集合操作。

    参考:《java8函数式编程》

  • 相关阅读:
    jmeter的基本功能使用详解
    服务器资源监控插件(jmeter)
    前端技术之--CSS
    前端技术之--HTML
    TCP/IP基础知识
    TCP/IP、Http的区别
    关于性能调优
    如何修改Docker已运行实例的端口映射
    Mysql 主从同步配置
    Presto的基本概念
  • 原文地址:https://www.cnblogs.com/akanecode/p/7209002.html
Copyright © 2011-2022 走看看