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

Popular posts from this blog

java - Intellij Synchronizing output directories .. -

git - Initial Commit: "fatal: could not create leading directories of ..." -