zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    VMware + CentOS 7搭建环境(二)
    VMware + CentOS 7搭建环境(一)
    电脑清理的问题整理
    windows下搭建vue+webpack的开发环境
    git使用指南
    如何使用前端技术设置地理围栏?
    js点击按钮button效果(波效果)
    计算两个日期时间之间的时间差:28小时38分钟
    jQuery实现的全选、反选和获取当前所有选中的值功能
    vue恼人的node_modules目录删除方法
  • 原文地址:https://www.cnblogs.com/qbdj/p/10945372.html
Copyright © 2011-2022 走看看