java - how to remove duplicate objects with same id's in a set -
hashset contains objects,i want remove duplicates objects having same id's
the following code..
set<employee> empset=new hashset<employee>(); empset.add(new employee(1,"naresh")); empset.add(new employee(2,"raj")); empset.add(new employee(1,"nesh")); empset.add(new employee(2,"rajes")); //i saw in blog can use hashcode equals method, don't how use in context, please me out
import groovy.transform.equalsandhashcode  @equalsandhashcode(includes='id') class employee {     int id     string name } you can remove constructors if @canonical ast used. canonical provides @equalsandhashcode, add includes has used separately again.
update
if class not modifiable , have list/hasset can use unique closure perform uniqueness. assuming solrdocument mentioned in comment referred employee , have above hashset duplicate ids, below should work:
empset.unique { it.id } //this mutates original list  empset.unique( false ) { it.id } //this not mutate original  list 
Comments
Post a Comment