zoukankan      html  css  js  c++  java
  • Stream系列(一)Filter方法使用

    Filter 是过滤器,也可以当查询方法使用

    视频讲解: https://www.bilibili.com/video/av76583051/

    EmployeeTestCase.java

    package com.example.demo;
     
    import lombok.extern.log4j.Log4j2;
    import org.junit.Test;
    import java.util.List;
    import java.util.Optional;
    import java.util.stream.Collectors;
    import static org.junit.Assert.assertEquals;
    import static org.junit.Assert.assertTrue;
     
    @Log4j2
    public class EmployeeTestCase extends BaseTest{
        @Test
        public void filter() {
            //获取包含Alex员工列表
            List<Employee> employeeIs1 = list.stream().filter(e -> e.getName().contains("Alex")).collect(Collectors.toList());
            assertTrue(null != employeeIs1 && employeeIs1.get(0).getId() == 1l);
            //获取包含Jacks名称的首位员工
            Optional<Employee> employeeJaskFirst2 = list.stream().filter(e -> e.getName().contains("Jack")).findFirst();
            assertEquals(employeeJaskFirst2.get().getId(), 3);
            //获取所有薪酬为1500的员工
            List<Employee> employees1350 = list.stream().filter(employee -> employee.getSalary() == 1500).peek(System.out::println).collect(Collectors.toList());
            assertEquals(2, employees1350.size());
        }
    }

    BaseTest.java
        package com.example.demo;
    
        import java.util.Arrays;
        import java.util.List;
    
        public class BaseTest {
            protected static final List<Employee> list = Arrays.asList(
                    new Employee(1, "Alex", 1000),
                    new Employee(2, "Michael", 2000),
                    new Employee(3, "Jack", 1500),
                    new Employee(4, "Owen", 1500),
                    new Employee(5, "Denny", 2000));
    
            protected static final List<List<Employee>> listFlat = Arrays.asList(
                    Arrays.asList(new Employee(1, "Alex", 1000),
                                  new Employee(2, "Michael", 2000)),
                    Arrays.asList(new Employee(3, "Jack", 1500),
                                  new Employee(4, "Owen", 1500)),
                    Arrays.asList(new Employee(5, "Denny", 2000)));
        }

     关注公众号,坚持每天3分钟学习

  • 相关阅读:
    React 高阶组件(HOC)
    使用 httpclient 连接 https 请求
    JAVA递归生成树形菜单
    Java8 stream 操作 GroupBy 设置键允许为null
    Java中简单对象(数组)拷贝
    idea中的Java项目引入外部jar包以及打包
    Java代码测试Kafka集群收发消息
    docker环境下,查看服务的线程数
    前端 vue3 随手记
    当GPU型号选定后,用什么样GPU的服务器?
  • 原文地址:https://www.cnblogs.com/JavaWeiBianCheng/p/11926422.html
Copyright © 2011-2022 走看看