ArrayList 根据对象中某个属性(利用Set)去重

2022/6/11 10:53:30 | 阅116 来源:好空间网络 [打印] [关闭]
 

  1. 在对象的.class上增加2个方法

  2. public boolean equals(Object obj) {
        Packages u = (Packages) obj; // 对象的强制转换
        return orderNumber.equals(u.orderNumber); // 前面的这个ordernumber是类中的私有属性
        }
    
    public int hashCode() {
        String in = orderNumber;
        return in.hashCode();
    }

 3. 把Array的集合转换

List<Packages> list = packagesService.list(wrapper); // 获得集合,里面有重复的数据(指订单号重复)
// 包裹是有对应订单号的,去重后循环他,根据订单号查询集包的信息
Set<Packages> userSet = new HashSet<>(list); // 把list转set集合,由于package类里重写了equals,所以他会以订单号作为重复过滤的参考
List<Packages> list2 = new ArrayList<>(userSet); // list2 就是去重后的集合


经营许可证ICP:皖B2-20100052 公司邮箱:zcdnsz@jspkongjian.net
Copyright © 2004-2015, 安徽好空间网络科技有限公司 版权所有 , 本站素材部分来源于网络,如有侵权请告知删除。