package edu.berkeley.nlp.util;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
/**
* User: aria42
* Date: Mar 29, 2009
*/
public class SetUtils {
public static <K> Set<K> intersection(Factory<Set<K>> fact, Collection<K>...sets) {
Set<K> result = fact.newInstance();
if (sets.length == 0) return result;
result.addAll(sets[0]);
for (int i = 1; i < sets.length; i++) {
result.retainAll(sets[i]);
}
return result;
}
public static <K> Set<K> intersection(Collection<K>...sets) {
return intersection(new Factory.DefaultFactory<Set<K>>(HashSet.class),sets);
}
}