public static <K, V> MultiDimensionalSet<K, V> concurrentSkipListSet() { return new MultiDimensionalSet<>(new ConcurrentSkipListSet<Pair<K, V>>()); }
public void add(K k, V v) { add(new Pair<>(k, v)); }
public boolean contains(K k, V v) { return contains(new Pair<>(k, v)); }
public static <K, V> MultiDimensionalSet<K, V> treeSet() { return new MultiDimensionalSet<>(new TreeSet<Pair<K, V>>()); }
public static <K, V> MultiDimensionalSet<K, V> hashSet() { return new MultiDimensionalSet<>(new HashSet<Pair<K, V>>()); }