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