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 + " ");// 最终过滤结果 张三 张四
    }
    }
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    使用使用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+" "));// 输出结果 : 张三 张四
    }
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    ---------------------

  • 相关阅读:
    NHibernate从入门到精通系列(3)——第一个NHibernate应用程序
    你真的了解Ioc与AOP吗?(1)
    C#网络编程TCP通信的粘包问题讨论
    开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo
    NHibernate从入门到精通系列(1)——NHibernate概括
    Spring.NET框架简介及模块说明
    C#|.NET从控制反转(依赖注入)想到事件注入 (非AOP)
    MVC3使用Unity实现接口自动注册
    编写更好的C#代码
    解构控制反转(IoC)和依赖注入(DI)
  • 原文地址:https://www.cnblogs.com/hyhy904/p/10947647.html
Copyright © 2011-2022 走看看