java List怎么分组去重

发布网友

我来回答

4个回答

热心网友

使用set集合啊,set集合是不能放重复的数据的。
Set hashSet = new HashSet(list);
然后在转过来就行了,set去除重复是调用了equals方法,所以你在Sh里面要重写equals方法,自定义比较的规则,例如:
public boolean equals(Object obj) {
if(obj==null) return false;
if(obj==this) return true;
Sh sh = (Sh)obj;
if(sh.getHm()==this.getHm()){
return true;
}
return false;
}

热心网友

用set集合吧. 那个是不允许重复的,操作和list一样追问但是不同年的hm是可以一样的,这要怎么实现

追答你就在对象中重写equals方法, 判断要同年和hm都一样的才算是相同的对象.

热心网友

使用 HashSet 重写 equals 方法与hashcode 方法

简单说明下 HashSet 的实现:
把调用add 方法时, 要求每个对象出示其hashcode()方法返回值,检查是否相同,不同则接纳,相同调用equals方法进行比较 ,相同丢弃,不相同接纳

热心网友

重写Sh的equals方法

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com