去掉重复对象使用Set排重
public class Bean {
public int uid;
public String name;
public Bean(int uid, String name) {
this.uid = uid;
this.name = name;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof Bean) {
return ((Bean) obj).uid == this.uid;
}
return super.equals(obj);
}
@Override
public int hashCode() {
return uid;
}
}
测试
public class Main {
private static Set<Bean> mBeans = new HashSet<>();
public static void main(String[] args) {
mBeans.add(new Bean(10, "Andy"));
mBeans.add(new Bean(12, "Andy"));
mBeans.add(new Bean(15, "Andy"));
mBeans.add(new Bean(10, "Andy"));
for (Bean bean : mBeans) {
System.out.println(bean.uid + "/" + bean.name);
}
}
}
输出
10/Andy
12/Andy
15/Andy