Package com.nomagic.utils
Class CollectionUtils
java.lang.Object
com.nomagic.utils.CollectionUtils
Collection related utility methods.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> void
addIfNotNull
(T element, Collection<T> collection) static <T> Collection<T>
append
(Collection<T> target, Collection<? extends T> source, boolean allowDuplication) Append source to target collection.static <T> Collection<T>
append
(Collection<T> target, Iterator<? extends T> sourceIterator, boolean allowDuplication) Append source to target collection.static <T> Collection<T>
append
(Collection<T> target, Iterator<? extends T> sourceIterator, boolean allowDuplication, boolean allowNulls) Append source to target collection.static <T> Collection<T>
append
(Collection<T> target, T[] source, boolean allowDuplication) Append source array to target collection.static boolean
Checks if given iterator contains given object.static boolean
containsAny
(Collection location, Collection what) Returns true if location contains any element from whatstatic <S,
T, C extends Collection<T>>
Cconvert
(Collection<S> source, C target, Converter<? super S, ? super T> converter) Convert one (source) collection into another (target) collection.static <C extends Collection<E>,
E>
CcreateCollection
(Class<C> collection, Iterator<E> it) Creates given type collection and fills it with objects from given iteratorstatic <T> Collection<T>
createFromStringRepresentation
(String string, String delimiter, Converter<String, T> converter) Create collection from string.static <T> String
createStringRepresentation
(Collection<T> collection, String delimiter, Converter<T, String> converter) Create string representation of given collection.static boolean
equals
(Collection<?> collection1, Collection<?> collection2) Checks if both collections are equal - size the same and elements by order are the samestatic <T> List<T>
filterByClassType
(Collection<?> input, Class<T> type) Filters and casts collection from one type to anotherstatic void
leaveElements
(List elements, int numberToLeave) Leaves a given number of first elements in the collection.static String
mapToString
(Map<String, String> map) Serializes map to string.static <T> Collection<T>
notDublicatedList
(Collection<T> collection) Deprecated.static <T> Collection<T>
notDuplicatedList
(Collection<T> collection) Removes duplicates from given collection.static <T> void
setFirstValue
(Collection<T> collection, T value) Set first value of the given collection.static <T> void
setSingleValue
(Collection<T> collection, T value) Removes all values from a given collection and adds a new one.stringToMap
(String input) Deserialize map from string.static <T> Collection<T>
toOptimizedCacheCollection
(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> Collection<T>
toOptimizedContainsCollection
(Collection<T> collection) Wrap the specified collection into containable collection that ensures optimized {{Collection.contains()}} performance.
-
Constructor Details
-
CollectionUtils
public CollectionUtils()
-
-
Method Details
-
convert
public static <S,T, C convertC extends Collection<T>> (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> Collection<T> append(Collection<T> target, 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> Collection<T> append(Collection<T> target, 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> Collection<T> append(Collection<T> target, 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
Append source array to target collection.- Parameters:
target
- targetsource
- sourceallowDuplication
- do not check for already added element if true- Returns:
- appended vector
-
contains
Checks if given iterator contains given object.- Parameters:
it
- the iterator.o
- the object.- Returns:
- true, if it contains o.
-
containsAny
Returns true if location contains any element from what- Parameters:
location
- location collectionwhat
- what collection.- Returns:
- boolean.
-
createCollection
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
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.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> String createStringRepresentation(Collection<T> collection, String delimiter, Converter<T, 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> Collection<T> createFromStringRepresentation(String string, String delimiter, Converter<String, T> converter) Create collection from string.- Parameters:
string
- string representation.delimiter
- values delimiter.converter
- convert string to object.- Returns:
- collection.
-
leaveElements
Leaves a given number of first elements in the collection.- Parameters:
elements
- elements to filter.numberToLeave
- number of elements to leave.
-
mapToString
Serializes map to string.- Parameters:
map
- map to serialize.- Returns:
- string representation of the map.
-
stringToMap
Deserialize map from string.- Parameters:
input
- input string.- Returns:
- map.
-
filterByClassType
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
Removes all values from a given collection and adds a new one.- Parameters:
collection
- collectionvalue
- a new value
-
setFirstValue
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
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
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
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
-
notDuplicatedList(java.util.Collection)