zoukankan      html  css  js  c++  java
  • java8 对List<对象>获取某个属性并去重

      java8 的函数式编程简直不要太顺畅,可大幅度简化代码,例如下面场景:

      List保存若干对象,需要过滤出对象的部门属性,并且去重组成list

      在java8之前,这样的需求需要循环list,并使用map存储结果,现在只需要一行代码,如下:

       List<PersonInfo> list=mapper.getPersonInfoList();//此处是你需要过滤的对象list

    List<String> entitySet=list.stream().map(PersonInfo::getDepartment).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());

    1、map方法,将对象PersonInfo 的department属性组织成list
    2、stream().distinct():将list中的值去重

    这样一行代码就可以过滤出需要的结果,对于代码重构优化有很大效率提升
  • 相关阅读:
    xml解析
    xml基础
    对象的深浅克隆
    批处理文件(bat)
    贪吃蛇逻辑代码
    排序算法
    tcp,第一个例子,客户端,服务端
    网络编程三要素
    装饰者模式
    工作中遇到的问题
  • 原文地址:https://www.cnblogs.com/DylanZ/p/12169638.html
Copyright © 2011-2022 走看看