public class SetUtil
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
SetUtil.Pair<X,Y> |
| Constructor and Description |
|---|
SetUtil() |
| Modifier and Type | Method and Description |
|---|---|
static <T> java.util.List<T> |
addAndGet(java.util.List<T> list,
T item) |
static <K,V> java.util.Set<java.util.Map<K,V>> |
allFuntionsFromFunctionallyDenotedRelation(java.util.Map<K,java.util.Collection<V>> pRelation) |
static <K,V> java.util.Collection<java.util.Map<K,V>> |
allMappings(java.util.Collection<K> domain,
java.util.Collection<V> range,
boolean totalsOnly,
boolean injectivesOnly,
boolean surjectivesOnly) |
static <K,V> java.util.Collection<java.util.Map<K,V>> |
allPartialMappings(java.util.Collection<K> domain,
java.util.Collection<V> range) |
static <K,V> java.util.Set<java.util.Map<K,V>> |
allTotalAndInjectiveMappingsWithConstraint(java.util.Collection<K> domain,
java.util.Collection<V> range,
java.util.function.Predicate<java.util.Map<K,V>> pPredicate)
Computes all total mappings that satisfy some given predicate.
|
static <K,V> java.util.Collection<java.util.Map<K,V>> |
allTotalMappings(java.util.Collection<K> domain,
java.util.Collection<V> range) |
static <K,V> java.util.Set<java.util.Map<K,V>> |
allTotalMappingsWithLocalConstraints(java.util.Collection<K> domain,
java.util.Collection<V> range,
java.util.function.Predicate<SetUtil.Pair<K,V>> pPredicate) |
static <E> int |
calculateNumberOfTotalOrderings(PartialOrderedSet<E> set) |
static <S,T> java.util.Collection<SetUtil.Pair<S,T>> |
cartesianProduct(java.util.Collection<S> a,
java.util.Collection<T> b) |
static <S> java.util.Collection<java.util.List<S>> |
cartesianProduct(java.util.Collection<S> set,
int number) |
static <T> java.util.Collection<java.util.List<T>> |
cartesianProduct(java.util.List<? extends java.util.Collection<T>> listOfSets) |
static <S,T extends S,U extends S> |
difference(java.util.Collection<T> a,
java.util.Collection<U> b) |
static <S,T extends S,U extends S> |
difference(java.util.List<T> a,
java.util.Collection<U> b) |
static <S,T extends S,U extends S> |
differenceEmpty(java.util.Collection<T> a,
java.util.Collection<U> b) |
static <S,T extends S,U extends S> |
differenceNotEmpty(java.util.Collection<T> a,
java.util.Collection<U> b) |
static <S,T extends S,U extends S> |
disjoint(java.util.Collection<T> a,
java.util.Collection<U> b) |
static java.util.List<java.lang.String> |
explode(java.lang.String stringList)
Splits a string into multiple strings using "," as a separator and returns the result as a list.
|
static java.util.List<java.lang.String> |
explode(java.lang.String stringList,
java.lang.String separator)
Splits a string into multiple strings by the given separator and returns the result as a list.
|
static <T> java.util.Collection<java.util.Collection<T>> |
getAllPossibleSubsets(java.util.Collection<T> items) |
static <T> java.util.List<java.util.Set<T>> |
getAllPossibleSubsetsWithSize(java.util.Collection<T> superSet,
int k) |
static <T> java.util.List<java.util.Set<T>> |
getAllPossibleSubsetsWithSizeParallely(java.util.Collection<T> superSet,
int k) |
static <T> java.util.Collection<java.util.Collection<T>> |
getCartesianProductOfSetsOfSameClass(java.util.Collection<java.util.Collection<T>> items) |
static <T> java.util.List<T> |
getInvertedCopyOfList(java.util.List<T> list) |
static <T> java.util.Collection<T> |
getMultiplyContainedItems(java.util.List<T> list) |
static <T> java.util.Collection<java.util.List<T>> |
getPermutations(java.util.Collection<T> set) |
static <T> java.util.Collection<java.util.Collection<T>> |
getPotenceOfSet(java.util.Collection<T> set,
byte exponent) |
static <T> T |
getRandomElement(java.util.Collection<T> set) |
static <T,U> java.util.Map<U,java.util.Collection<T>> |
groupCollectionByAttribute(java.util.Collection<T> collection,
IGetter<T,U> getter) |
static java.lang.String |
implode(java.util.Collection<? extends java.lang.Object> collection,
java.lang.String separator)
Concatenates toString representations of objects separated by the given separator to a single string.
|
static <S,T extends S,U extends S> |
intersection(java.util.Collection<T> a,
java.util.Collection<U> b) |
static <K,V extends java.lang.Comparable<V>> |
keySetSortedByValues(java.util.Map<K,V> map,
boolean asc) |
static <T extends java.lang.Comparable<T>> |
mergeSort(java.util.Collection<T> set) |
static <T> java.util.Collection<java.util.Collection<T>> |
powerset(java.util.Collection<T> items) |
static <K,V> java.util.Collection<SetUtil.Pair<K,V>> |
relation(java.util.Collection<K> keys,
java.util.Collection<V> values,
java.util.function.Predicate<SetUtil.Pair<K,V>> relationPredicate) |
static <K,V> java.util.Map<K,java.util.Collection<V>> |
relationAsFunction(java.util.Collection<K> keys,
java.util.Collection<V> values,
java.util.function.Predicate<SetUtil.Pair<K,V>> relationPredicate) |
static java.lang.String |
serializeAsSet(java.util.Collection<java.lang.String> set) |
static <T> void |
shuffle(java.util.List<T> list) |
static <T> java.util.Collection<java.util.Set<T>> |
subsetsOfSize(java.util.Collection<T> set,
int size) |
static <T> java.util.Collection<T> |
symmetricDifference(java.util.Collection<T> a,
java.util.Collection<T> b) |
static <T> java.util.Collection<T> |
union(java.util.Collection<T>... set) |
static org.apache.commons.math3.geometry.euclidean.oned.Interval |
unserializeInterval(java.lang.String intervalDescriptor) |
static java.util.List<java.lang.String> |
unserializeList(java.lang.String listDescriptor) |
static java.util.Set<java.lang.String> |
unserializeSet(java.lang.String setDescriptor) |
@SafeVarargs public static <T> java.util.Collection<T> union(java.util.Collection<T>... set)
public static <T> java.util.Collection<T> symmetricDifference(java.util.Collection<T> a,
java.util.Collection<T> b)
public static <T> java.util.Collection<T> getMultiplyContainedItems(java.util.List<T> list)
public static <S,T extends S,U extends S> java.util.Collection<S> intersection(java.util.Collection<T> a,
java.util.Collection<U> b)
a - The set A.b - The set B.public static <S,T extends S,U extends S> boolean disjoint(java.util.Collection<T> a,
java.util.Collection<U> b)
public static <T> java.util.Collection<java.util.Collection<T>> getPotenceOfSet(java.util.Collection<T> set,
byte exponent)
public static <T> java.util.Collection<java.util.Collection<T>> getCartesianProductOfSetsOfSameClass(java.util.Collection<java.util.Collection<T>> items)
public static <T> java.util.Collection<java.util.Collection<T>> powerset(java.util.Collection<T> items)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic static <T> java.util.Collection<java.util.Collection<T>> getAllPossibleSubsets(java.util.Collection<T> items)
public static <T> java.util.Collection<java.util.Set<T>> subsetsOfSize(java.util.Collection<T> set,
int size)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic static <T> java.util.List<java.util.Set<T>> getAllPossibleSubsetsWithSizeParallely(java.util.Collection<T> superSet,
int k)
public static <T> java.util.List<java.util.Set<T>> getAllPossibleSubsetsWithSize(java.util.Collection<T> superSet,
int k)
public static <T> java.util.Collection<java.util.List<T>> getPermutations(java.util.Collection<T> set)
public static <S,T extends S,U extends S> java.util.Collection<S> difference(java.util.Collection<T> a,
java.util.Collection<U> b)
a - The set A.b - The set B.public static <S,T extends S,U extends S> java.util.List<S> difference(java.util.List<T> a,
java.util.Collection<U> b)
a - The set A.b - The set B.public static <S,T extends S,U extends S> boolean differenceEmpty(java.util.Collection<T> a,
java.util.Collection<U> b)
public static <S,T extends S,U extends S> boolean differenceNotEmpty(java.util.Collection<T> a,
java.util.Collection<U> b)
public static <S,T> java.util.Collection<SetUtil.Pair<S,T>> cartesianProduct(java.util.Collection<S> a, java.util.Collection<T> b)
a - The set A.b - The set B.public static <T> java.util.Collection<java.util.List<T>> cartesianProduct(java.util.List<? extends java.util.Collection<T>> listOfSets)
a - The set A.b - The set B.public static <S> java.util.Collection<java.util.List<S>> cartesianProduct(java.util.Collection<S> set,
int number)
throws java.lang.InterruptedException
a - The set A.java.lang.InterruptedExceptionpublic static <K,V> java.util.Collection<SetUtil.Pair<K,V>> relation(java.util.Collection<K> keys, java.util.Collection<V> values, java.util.function.Predicate<SetUtil.Pair<K,V>> relationPredicate)
public static <K,V> java.util.Map<K,java.util.Collection<V>> relationAsFunction(java.util.Collection<K> keys,
java.util.Collection<V> values,
java.util.function.Predicate<SetUtil.Pair<K,V>> relationPredicate)
public static <K,V> java.util.Collection<java.util.Map<K,V>> allMappings(java.util.Collection<K> domain,
java.util.Collection<V> range,
boolean totalsOnly,
boolean injectivesOnly,
boolean surjectivesOnly)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic static <K,V> java.util.Collection<java.util.Map<K,V>> allTotalMappings(java.util.Collection<K> domain,
java.util.Collection<V> range)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic static <K,V> java.util.Collection<java.util.Map<K,V>> allPartialMappings(java.util.Collection<K> domain,
java.util.Collection<V> range)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic static <K,V> java.util.Set<java.util.Map<K,V>> allTotalAndInjectiveMappingsWithConstraint(java.util.Collection<K> domain,
java.util.Collection<V> range,
java.util.function.Predicate<java.util.Map<K,V>> pPredicate)
throws java.lang.InterruptedException
domain - The domain set.range - The range set.pPredicate - The predicate that is evaluated for every partialjava.lang.InterruptedExceptionpublic static <K,V> java.util.Set<java.util.Map<K,V>> allTotalMappingsWithLocalConstraints(java.util.Collection<K> domain,
java.util.Collection<V> range,
java.util.function.Predicate<SetUtil.Pair<K,V>> pPredicate)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic static <K,V> java.util.Set<java.util.Map<K,V>> allFuntionsFromFunctionallyDenotedRelation(java.util.Map<K,java.util.Collection<V>> pRelation)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic static <T> void shuffle(java.util.List<T> list)
public static <T> T getRandomElement(java.util.Collection<T> set)
public static <T extends java.lang.Comparable<T>> java.util.List<T> mergeSort(java.util.Collection<T> set)
public static <K,V extends java.lang.Comparable<V>> java.util.List<K> keySetSortedByValues(java.util.Map<K,V> map,
boolean asc)
public static <E> int calculateNumberOfTotalOrderings(PartialOrderedSet<E> set) throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic static java.lang.String serializeAsSet(java.util.Collection<java.lang.String> set)
public static java.util.Set<java.lang.String> unserializeSet(java.lang.String setDescriptor)
public static java.util.List<java.lang.String> unserializeList(java.lang.String listDescriptor)
public static org.apache.commons.math3.geometry.euclidean.oned.Interval unserializeInterval(java.lang.String intervalDescriptor)
public static <T> java.util.List<T> getInvertedCopyOfList(java.util.List<T> list)
public static <T> java.util.List<T> addAndGet(java.util.List<T> list,
T item)
public static <T,U> java.util.Map<U,java.util.Collection<T>> groupCollectionByAttribute(java.util.Collection<T> collection,
IGetter<T,U> getter)
public static java.util.List<java.lang.String> explode(java.lang.String stringList)
stringList - The list in the form of a string.public static java.util.List<java.lang.String> explode(java.lang.String stringList,
java.lang.String separator)
stringList - The list in the form of a string.separator - The separator to be used for splitting.public static java.lang.String implode(java.util.Collection<? extends java.lang.Object> collection,
java.lang.String separator)
collection - The collection of objects to be concatenated.separator - The separator for separating elements.