package uebung09.collection; public class SetFactory { private SetFactory() { /* don't instantiate */ } /** * Returns the empty set. * * @param the element type of the returned set. * @return the empty set. */ public static Set create() { return EmptySet.getInstance(); } /** * Returns the singleton set containing the specified element. * * @param element an element (must not be null) * @param the element type of the returned set. * @return the singleton set containing the specified element. */ public static Set create(T element) { return new SingeltonSet(element); } /** * Returns a set containing the specified elements. The specified elements may contain equal elements. * * @param elems elements of the returned set (may contain equal elements) * @param the element type of the returned set. * @return a set containing the specified elements. */ public static Set create(T... elems) { // BigSet rtn = new BigSet(elems[1], new SingeltonSet<>(elems[1])); Set set = EmptySet.getInstance(); for(T elem : elems) { set = set.add(elem); } return set; } }