package soottocfg.util; import java.util.HashSet; import java.util.Set; public class SetOperations { // These create new sets, and so are non-destructive. public static <T> Set<T> intersect(Set<T> s1, Set<T> s2) { Set<T> intersection = new HashSet<T>(s1); intersection.retainAll(s2); return intersection; } public static <T> Set<T> union(Set<T> s1, Set<T> s2) { Set<T> rval = new HashSet<T>(s1); rval.addAll(s2); return rval; } public static <T> Set<T> minus(Set<T> s1, Set<T> s2) { Set<T> rval = new HashSet<T>(s1); rval.removeAll(s2); return rval; } }