ArrayList 根据对象中某个属性(利用Set)去重
2022/6/11 10:53:30 | 阅1845 | 来源:好空间网络 [打印] [关闭] |
在对象的.class上增加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 就是去重后的集合