博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jdk1.8 lambda表达式过滤重复的对象
阅读量:7171 次
发布时间:2019-06-29

本文共 1974 字,大约阅读时间需要 6 分钟。

  hot3.png

//操作类public class BizAgentAudit {    private String supplierOrgId;    private int age;    private String name;        public BizAgentAudit() {        super();    }    public String getSupplierOrgId() {        return supplierOrgId;    }    public void setSupplierOrgId(String supplierOrgId) {        this.supplierOrgId = supplierOrgId;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }        }//JDK1.8新特性遍历//方案1: List
rejectList = new ArrayList<>();     BizAgentAudit temp1 = new BizAgentAudit();     BizAgentAudit temp2 = new BizAgentAudit();     BizAgentAudit temp3 = new BizAgentAudit();     BizAgentAudit temp4 = new BizAgentAudit();    //偷懒,没给对象赋值,你们得赋值哦     rejectList.add(temp1);     rejectList.add(temp2);     rejectList.add(temp3);     rejectList.add(temp4);    //去重 rejectList = rejectList.stream() .collect(Collectors.collectingAndThen(Collectors.toCollection(()-> new         TreeSet<> (Comparator.comparing(BizAgentAudit::getSupplierOrgId))), ArrayList::new));//方案2:
    List
rejectList = new ArrayList<>();        BizAgentAudit temp1 = new BizAgentAudit();        BizAgentAudit temp2 = new BizAgentAudit();             BizAgentAudit temp3 = new BizAgentAudit();     //偷懒,没给对象赋值,你们得赋值哦              rejectList.add(temp1);              rejectList.add(temp2);              rejectList.add(temp3);    rejectList .stream().filter( distinctByKey(o -> o.getSupplierOrgId()) ).forEach( p ->{ //业务处理操作 }    );
    
    //自定义根据对象属性过滤重复的对象    private 
Predicate
distinctByKey(Function
keyExtractor) {      Map
seen = new ConcurrentHashMap<>();     return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;    }    
 

 

 

 

 

 

 

转载于:https://my.oschina.net/pjpj/blog/2989341

你可能感兴趣的文章
一个最简单GAL游戏资源文件黑盒分析(二)
查看>>
SQL Server 2005允许远程连接的配置说明
查看>>
HQL 语句
查看>>
一起谈.NET技术,Silverlight中本地化的实现
查看>>
PC上的手机模拟器大全(安卓/苹果/黑莓/塞班/微软)
查看>>
ToolTip
查看>>
27 款漂亮的网站导航的设计
查看>>
索引的一些总结
查看>>
js 正则替换换行符
查看>>
制单表查询all终于搞定了辅助核算显示
查看>>
Winforms SkinFramework
查看>>
APUE, A Great Book
查看>>
HDUOJ Calendar
查看>>
北大ACM试题分类分类---转载
查看>>
express的路由配置优化
查看>>
JavaWEB开发国际化
查看>>
提升你开发技能的 8 个提示(转)
查看>>
系统集成项目管理之项目采购管理
查看>>
c++智能指针《二》 std::tr1::shared_ptr
查看>>
python开发_gzip_压缩|解压缩gz文件_完整版_博主推荐
查看>>