The Google Guava library also has a bunch of useful methods (e.g. set union and difference).
https://code.google.com/p/guava-libraries/wiki/CollectionUtilitiesExplained#Sets
Example (from page linked above):
Set<String> wordsWithPrimeLength = ImmutableSet.of("one", "two", "three", "six", "seven", "eight");
Set<String> primes = ImmutableSet.of("two", "three", "five", "seven");
SetView<String> intersection = Sets.intersection(primes, wordsWithPrimeLength); // contains "two", "three", "seven"
// I can use intersection as a Set directly, but copying it can be more efficient if I use it a lot.
return intersection.immutableCopy();