Package com.nomagic.utils
Class CollectionUtils
- java.lang.Object
-
- com.nomagic.utils.CollectionUtils
-
@OpenApiAll public class CollectionUtils extends java.lang.Object
Collection related utility methods.
-
-
Constructor Summary
Constructors Constructor Description CollectionUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static <T> void
addIfNotNull(T element, java.util.Collection<T> collection)
static <T> java.util.Collection<T>
append(java.util.Collection<T> target, java.util.Collection<? extends T> source, boolean allowDuplication)
Append source to target collection.static <T> java.util.Collection<T>
append(java.util.Collection<T> target, java.util.Iterator<? extends T> sourceIterator, boolean allowDuplication)
Append source to target collection.static <T> java.util.Collection<T>
append(java.util.Collection<T> target, java.util.Iterator<? extends T> sourceIterator, boolean allowDuplication, boolean allowNulls)
Append source to target collection.static <T> java.util.Collection<T>
append(java.util.Collection<T> target, T[] source, boolean allowDuplication)
Append source array to target collection.static boolean
contains(java.util.Iterator it, java.lang.Object o)
Checks if given iterator contains given object.static boolean
containsAny(java.util.Collection location, java.util.Collection what)
Returns true if location contains any element from whatstatic <S,T,C extends java.util.Collection<T>>
Cconvert(java.util.Collection<S> source, C target, Converter<? super S,? super T> converter)
Convert one (source) collection into another (target) collection.static <C extends java.util.Collection<E>,E>
CcreateCollection(java.lang.Class<C> collection, java.util.Iterator<E> it)
Creates given type collection and fills it with objects from given iteratorstatic <T> java.util.Collection<T>
createFromStringRepresentation(java.lang.String string, java.lang.String delimiter, Converter<java.lang.String,T> converter)
Create collection from string.static <T> java.lang.String
createStringRepresentation(java.util.Collection<T> collection, java.lang.String delimiter, Converter<T,java.lang.String> converter)
Create string representation of given collection.static boolean
equals(java.util.Collection<?> collection1, java.util.Collection<?> collection2)
Checks if both collections are equal - size the same and elements by order are the samestatic <T> java.util.List<T>
filterByClassType(java.util.Collection<?> input, java.lang.Class<T> type)
Filters and casts collection from one type to anotherstatic void
leaveElements(java.util.List elements, int numberToLeave)
Leaves a given number of first elements in the collection.static java.lang.String
mapToString(java.util.Map<java.lang.String,java.lang.String> map)
Serializes map to string.static <T> java.util.Collection<T>
notDublicatedList(java.util.Collection<T> collection)
Deprecated.static <T> java.util.Collection<T>
notDuplicatedList(java.util.Collection<T> collection)
Removes duplicates from given collection.static <T> void
setFirstValue(java.util.Collection<T> collection, T value)
Set first value of the given collection.static <T> void
setSingleValue(java.util.Collection<T> collection, T value)
Removes all values from a given collection and adds a new one.static java.util.Map<java.lang.String,java.lang.String>
stringToMap(java.lang.String input)
Deserialize map from string.static <T> java.util.Collection<T>
toOptimizedCacheCollection(java.util.Collection<T> collection)
Optimized for 1) minimal memory footprint, for the stored cache data to be as small as possible 2) contains() performance, while preserving iteration order and performance Returned collection in unmodifiablestatic <T> java.util.Collection<T>
toOptimizedContainsCollection(java.util.Collection<T> collection)
Wrap the specified collection into containable collection that ensures optimized {{Collection.contains()}} performance.
-
-
-
Method Detail
-
convert
public static <S,T,C extends java.util.Collection<T>> C convert(java.util.Collection<S> source, C target, Converter<? super S,? super T> converter)
Convert one (source) collection into another (target) collection. Converts each source element and adds converted element to target collection.- Type Parameters:
S
- source collection element type.T
- target collection element type.C
- target collection type.- Parameters:
source
- source collection.target
- target collection.converter
- converts each element.- Returns:
- target collection.
-
append
public static <T> java.util.Collection<T> append(java.util.Collection<T> target, java.util.Collection<? extends T> source, boolean allowDuplication)
Append source to target collection.- Parameters:
target
- targetsource
- sourceallowDuplication
- do not check for already added element if true- Returns:
- appended collection
-
append
public static <T> java.util.Collection<T> append(java.util.Collection<T> target, java.util.Iterator<? extends T> sourceIterator, boolean allowDuplication)
Append source to target collection.- Parameters:
target
- targetsourceIterator
- source iterator.allowDuplication
- do not check for already added element if true- Returns:
- appended collection
-
append
public static <T> java.util.Collection<T> append(java.util.Collection<T> target, java.util.Iterator<? extends T> sourceIterator, boolean allowDuplication, boolean allowNulls)
Append source to target collection.- Parameters:
target
- targetsourceIterator
- source iterator.allowDuplication
- do not check for already added element if trueallowNulls
- allows nulls- Returns:
- appended collection
-
append
public static <T> java.util.Collection<T> append(java.util.Collection<T> target, T[] source, boolean allowDuplication)
Append source array to target collection.- Parameters:
target
- targetsource
- sourceallowDuplication
- do not check for already added element if true- Returns:
- appended vector
-
contains
public static boolean contains(java.util.Iterator it, java.lang.Object o)
Checks if given iterator contains given object.- Parameters:
it
- the iterator.o
- the object.- Returns:
- true, if it contains o.
-
containsAny
public static boolean containsAny(java.util.Collection location, java.util.Collection what)
Returns true if location contains any element from what- Parameters:
location
- location collectionwhat
- what collection.- Returns:
- boolean.
-
createCollection
public static <C extends java.util.Collection<E>,E> C createCollection(java.lang.Class<C> collection, java.util.Iterator<E> it)
Creates given type collection and fills it with objects from given iterator- Parameters:
collection
- type collection.it
- The given iterator.- Returns:
- the result collection.
-
notDuplicatedList
public static <T> java.util.Collection<T> notDuplicatedList(java.util.Collection<T> collection)
Removes duplicates from given collection. After remove one element will be in collection only one time.- Parameters:
collection
- collection to operate with. (makes sense when col are list (sets cant have identical elements).- Returns:
- collection.
-
notDublicatedList
@Deprecated public static <T> java.util.Collection<T> notDublicatedList(java.util.Collection<T> collection)
Deprecated.Removes duplicates from given collection. After remove one element will be in collection only one time.- Parameters:
collection
- collection to operate with. (makes sense when col are list (sets cant have identical elements).- Returns:
- collection.
-
createStringRepresentation
public static <T> java.lang.String createStringRepresentation(java.util.Collection<T> collection, java.lang.String delimiter, Converter<T,java.lang.String> converter)
Create string representation of given collection.- Parameters:
collection
- collection.delimiter
- values delimiter.converter
- convert object to string.- Returns:
- string representation of collection.
-
createFromStringRepresentation
public static <T> java.util.Collection<T> createFromStringRepresentation(java.lang.String string, java.lang.String delimiter, Converter<java.lang.String,T> converter)
Create collection from string.- Parameters:
string
- string representation.delimiter
- values delimiter.converter
- convert string to object.- Returns:
- collection.
-
leaveElements
public static void leaveElements(java.util.List elements, int numberToLeave)
Leaves a given number of first elements in the collection.- Parameters:
elements
- elements to filter.numberToLeave
- number of elements to leave.
-
mapToString
public static java.lang.String mapToString(java.util.Map<java.lang.String,java.lang.String> map)
Serializes map to string.- Parameters:
map
- map to serialize.- Returns:
- string representation of the map.
-
stringToMap
public static java.util.Map<java.lang.String,java.lang.String> stringToMap(java.lang.String input)
Deserialize map from string.- Parameters:
input
- input string.- Returns:
- map.
-
filterByClassType
public static <T> java.util.List<T> filterByClassType(java.util.Collection<?> input, java.lang.Class<T> type)
Filters and casts collection from one type to another- Type Parameters:
T
- type- Parameters:
input
- input collectiontype
- desired output collection type- Returns:
- new typed list
-
setSingleValue
public static <T> void setSingleValue(java.util.Collection<T> collection, T value)
Removes all values from a given collection and adds a new one.- Parameters:
collection
- collectionvalue
- a new value
-
setFirstValue
public static <T> void setFirstValue(java.util.Collection<T> collection, @CheckForNull T value)
Set first value of the given collection. If collection is empty, adds a new value. If value is null, removes first value from collection.- Parameters:
collection
- collectionvalue
- a new value
-
toOptimizedContainsCollection
public static <T> java.util.Collection<T> toOptimizedContainsCollection(java.util.Collection<T> collection)
Wrap the specified collection into containable collection that ensures optimized {{Collection.contains()}} performance. The provided collection should not change while the wrapped collection is used.- Parameters:
collection
- a collection to wrap into containable collection- Returns:
- return wrapped collection.
-
toOptimizedCacheCollection
public static <T> java.util.Collection<T> toOptimizedCacheCollection(java.util.Collection<T> collection)
Optimized for 1) minimal memory footprint, for the stored cache data to be as small as possible 2) contains() performance, while preserving iteration order and performance Returned collection in unmodifiable
-
equals
public static boolean equals(java.util.Collection<?> collection1, java.util.Collection<?> collection2)
Checks if both collections are equal - size the same and elements by order are the same- Parameters:
collection1
- first collectioncollection2
- second collection- Returns:
- true if size the same and elements by order are the same
-
addIfNotNull
public static <T> void addIfNotNull(@CheckForNull T element, java.util.Collection<T> collection)
-
-