Set of SID elements contains duplicates (none unique data)

Viewed 15

I'm trying to understand a very basic concept and I'm not sure why it doesn't work. I have two lists of type, and I want to combine them into one Set with distinct values (as it should be by the definition of Set). However, when I print the set values I get duplicates.

 List<SID> list1 = (.....)
 List<SID> list2 = (.....)

 Set<SID> combined = new HashSet<>();
 combined.addAll(list1);
 combined.addAll(list2);

I also tried with distinct()

Set<SID> combinedSet = Stream.concat(list1.stream(), list2.stream()).distinct().collect(Collectors.toSet());


List<SID> combinedList = Stream.concat(list1.stream(), list2.stream()).distinct().collect(Collectors.toList());

Any idea why? SID class overrides the hashCode and the equals method...any other way to achieve it?

0 Answers
Related