zoukankan      html  css  js  c++  java
  • java知识学习47-Stream流

    Stream流:可理解为一条流水线作业,期间要经过一些处理步骤后得到最终结果。它将函数式风格引入Java中。

      范例:

        /**
    * 案例:
    * 创建一个集合,存储多个字符串元素
    * 把集合中所有以"张"开头的元素存储到一个新的集合
    * 把"张"开头的集合中的长度为3的元素存储到一个新的集合
    * 遍历上一步得到的集合
    */
    public static void main(String[] args) {
    // 普通方式编写的代码量很大,若再增加几个判断又得添加一堆代码
    ArrayList<String> list = new ArrayList<>();
    list.add("爱丽丝");
    list.add("张力");
    list.add("是多少");
    list.add("张望着");
    list.add("地位");

    ArrayList<String> zhangList = new ArrayList<>();

    for(String s : list) {
    if (s.startsWith("张")) {
    zhangList.add(s);
    }
    }
    // System.out.println(zhangList);

    ArrayList<String> threeList = new ArrayList<>();

    for(String ss : zhangList) {
    if (ss.length() == 3) {
    threeList.add(ss);
    }
    }
    System.out.println(threeList);

    // Stream流的方式来处理这个问题,逻辑简单且清晰,就是一条流水线
    list.stream().filter(s -> s.startsWith("张")).filter(ss->ss.length()==3).forEach(sss-> System.out.println(sss));

    Stream流的使用:

     

    Stream流的生成方式:

       

    Stream流的常见中间操作方法:

       

      Stream<T> limit(long maxSizee):返回流中的指定的截取长度为maxSizee的数据。

      Stream<T> skip(long n):跳过指定的长度为n的数据,返回剩下的数据组成的流。

      static <T> Stream<T> concat(Stream<? extends T> a, Stream<? extends T> b):将a和b两个流合并为一个流。

      Stream<T> distinct():返回元素去重后的流(底层式根据Object.equals(Object)的方法)

        

      Stream<T> sorted():流元素根据自然顺序排序。

      Stream<T> sorted(Comparator c):流元素根据比较器Comparator进行排序。

        

      Stream map(Function mapper):返回由给定函数应用于此流的元素的结果组成的流。

      IntStream mapToInt(ToIntFunction mapper):返回一个IntStream其中包含将给定函数应用于此流的元素的结果。

        

    Stream流的常见终结操作方法:

      void forEach(Consumer action):对此流的每个元素执行操作。

      long count():返回此流中的元素数 。

        

    Stream流的收集操作:主要是为了把流的数据收集到集合中的操作。

      

      范例:

        

  • 相关阅读:
    ThinkPHP5.0被攻击,发现漏洞
    ThinkPHP5.0引用PHPExcel插件,在页面中导出数据库数据
    ThinkPHP5.0引入插件
    引入UEditor插件
    Form
    点击链接只跳转到首页/本地正常,上传后,除首页外,其余页面404
    Thinkphp5中嵌套循环
    ARouter转场动画无效,试试下面这种写法
    windows下运行.sh文件
    List集合增删元素时,UnsupportedOperationException报错问题
  • 原文地址:https://www.cnblogs.com/blogofzxf/p/14716120.html
Copyright © 2011-2022 走看看