文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java8对List集合中的数据进行过滤处理

2023-09-02 10:47

关注

目录

0.需求场景

1.编码实现


0.需求场景

        假设有这样一个需求,将List中所有超过 35 岁的员工剔除,该如何实现呢?我们可以利用 Java8 的流式编程,轻松的实现这个需求。

        当然也不局限与上述场景,对应的处理方法适用与根据 List 中元素或元素的属性,对 List 进行处理的场景。

1.编码实现

        首先定义一个 Employee 类,此类包含 name 和 age 两个属性。同时自动生成构造方法、 get 方法、set 方法和 toString 方法。

public class Employee {    private String name;    private int age;    public Employee() {    }    public Employee(String name, int age) {        this.name = name;        this.age = age;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    @Override    public String toString() {        return "Employee{" +            "name='" + name + '\'' +            ", age=" + age +            '}';    }}

         首先循环创建 10 个 Employee 对象,组装成原始的 List 。随后对 List 中的每一个数控调用 whoDismiss 方法,过滤掉对应条件的数据。

public class Main {    public static void main(String[] args) {        List employeeList = new ArrayList<>();        for (int i = 30; i < 40; i++) {            employeeList.add(new Employee("张" + i, i));        }        //将每个Employee对象传入whoDismiss方法进行处理,处理完成后过滤空元素,最后转换为List        List dismissEmployee = employeeList.stream()            .map(Main::whoDismiss).filter(Objects::nonNull).collect(Collectors.toList());        dismissEmployee.forEach(employee -> System.out.println(employee.toString()));    }        public static Employee whoDismiss(Employee employee) {        if (employee.getAge() > 35) {            return null;        } else {            return employee;        }    }}

来源地址:https://blog.csdn.net/Alger_/article/details/129179139

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯