I have a java.util.Set<City> cities
and I need to add cities to this set in 2 ways:
By adding individual city (with the help of cities.add(city)
method call)
By adding another set of cities to this set (with the help of cities.addAll(anotherCitiesSet)
method call)
But the problem in second approach is that i don't know whether there were any duplicate cities in the anotherCitiesSet
.
I want to do some processing whenever a duplicate entry is tried to be entered in thecities
set.
Copy the cities
set (to say, citiesCopy
), and then call citiesCopy.retainAll(anotherCitiesSet)
- the resulting set in citiesCopy
will contain the intersection of the two sets, thus allowing you to easily see which cities are duplicated, if any.
Alternatively, loop through the second set and manually add each of the elements, checking the return value from add()
each time:
for(java.util.Set<City> c : anotherCitiesSet) {
if(!cities.add(c)) {
// c was a duplicate, do something?
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With