set1 <User> //第一个user集合为set1
set2<User> //第二个user集合为set2
if(null!=set2&&set2.size()>0){ if(set1.size()>0){ set1.removeAll(set2); //set1中去除set2已有的对象 set1.addAll(set2); //set1中添加set2 }else{ set1=set2; } }
这样去重的话比较重写User对象的equals和hashcode方法
//重写equals、hashcode方法,只要userId一样,则认为两个对象相等 @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; User user= (User) o; return Objects.equals(appId, user.userId); } @Override public int hashCode() { int result = 17; result = 31 * result + (userId== null ? 0 : userId.hashCode()); return result; }