• Java8新特性 Stream流式思想(一)


    遍历及过滤集合中的元素

    • 使用传统方式遍历及过滤集合中的元素
    package cn.com.zq.demo01.Stream.test01.Stream;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /*
     *   使用 传统方式 遍历 及 过滤 集合
     *   需求 :
     *       1、第一步过滤,只需要 以 “张” 开头的名字
     *       2、第二步过滤只需要 ,名字长度为 2 的名字
     * */
    public class Test01Stream {
    
        public static void main(String[] args) {
    //        创建一个集合 List , 存储姓名 并根据要求 进行过滤
            List<String> nameList = new ArrayList<>();
            nameList.add("张三");
            nameList.add("李四");
            nameList.add("王五");
            nameList.add("赵六");
            nameList.add("田七");
            nameList.add("王八");
            nameList.add("张四");
            nameList.add("张三丰");
    
    //        使用传统方式进行过滤
    
    //         1、第一步过滤,只需要 以张开头的名字
    
    //        需要 创建一个新的集合 对 第一次过滤之后的 姓名 进行存储
            List<String> listA = new ArrayList<>();
            for (String s : nameList) {  //使用增强 for 循环 对 集合进行遍历
                if (s.startsWith("张")) {
                    listA.add(s);//将过滤后的结果 添加到新的集合中
                }
            }
    
            List<String> listB = new ArrayList<>();
            for (String s : listA) {
                if (s.length() == 2) {
                    listB.add(s);
                }
            }
    
            for (String s : listB) {
                System.out.print(s + "  ");// 最终过滤结果  张三  张四
            }
        }
    }
    

      

    • 使用使用Stream流的方式遍历及过滤集合中的元素
    package cn.com.zq.demo01.Stream.test01.Stream;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /*
    *   使用Stream流的方式 遍历 并 过滤集合
    *       需求 :
                1、第一步过滤,只需要 以 “张” 开头的名字
                2、第二步过滤只需要 ,名字长度为 2 的名字
    * */
    public class Test02Stream {
    
        public static void main(String[] args) {
            //        创建一个集合 List , 存储姓名 并根据要求 进行过滤
            List<String> nameList = new ArrayList<>();
            nameList.add("张三");
            nameList.add("李四");
            nameList.add("王五");
            nameList.add("赵六");
            nameList.add("田七");
            nameList.add("王八");
            nameList.add("张四");
            nameList.add("张三丰");
    
    //        使用 Stream 流的方式 ,对集合进行遍历,并过滤
    //        1、第一步过滤,只需要 以 “张” 开头的名字
    
    //        将集合转换为 Stream流, 直接调用Collection接口的一个默认方法 stream
            nameList.stream().filter(s->s.startsWith("张"))
                             .filter(s->s.length()==2)
                             .forEach(s-> System.out.print(s+"  "));// 输出结果 : 张三  张四
        }
    }
    

      

    原文:https://blog.csdn.net/qq_41319058/article/details/90319707

  • 相关阅读:
    CPU 被客户机操作系统禁用. 重启或关闭虚拟机电源
    android怎么修改源码
    Git Gui for Windows的建库、克隆(clone)、上传(push)、下载(pull)、合并
    煮茶叶蛋口味鲜美的秘技
    屏蔽非法路由,好好上网!
    寂寞·韶华
    uml 的学习文章
    忧患人生的卓越指南——《周易》与人生哲理
    vblog 的 前景展望
    在数据库开发过程中,数据库、表、字段、视图、存储过程等的命名规则
  • 原文地址:https://www.cnblogs.com/qbdj/p/10945372.html
Copyright © 2020-2023  润新知