public abstract class CollectionUtils
extends java.lang.Object
Constructor and Description |
---|
CollectionUtils() |
Modifier and Type | Method and Description |
---|---|
static java.util.List |
arrayToList(java.lang.Object source)
Convert the supplied array into a List.
|
static boolean |
contains(java.util.Enumeration<?> enumeration,
java.lang.Object element)
Check whether the given Enumeration contains the given element.
|
static boolean |
contains(java.util.Iterator<?> iterator,
java.lang.Object element)
Check whether the given Iterator contains the given element.
|
static boolean |
containsAny(java.util.Collection<?> source,
java.util.Collection<?> candidates)
Return
true if any element in 'candidates ' is
contained in 'source '; otherwise returns false . |
static boolean |
containsInstance(java.util.Collection<?> collection,
java.lang.Object element)
Check whether the given Collection contains the given element instance.
|
static java.lang.Class<?> |
findCommonElementType(java.util.Collection<?> collection)
Find the common element type of the given Collection, if any.
|
static <E> E |
findFirstMatch(java.util.Collection<?> source,
java.util.Collection<E> candidates)
Return the first element in '
candidates ' that is contained in
'source '. |
static java.lang.Object |
findValueOfType(java.util.Collection<?> collection,
java.lang.Class<?>[] types)
Find a single value of one of the given types in the given Collection:
searching the Collection for a value of the first type, then
searching for a value of the second type, etc.
|
static <T> T |
findValueOfType(java.util.Collection<?> collection,
java.lang.Class<T> type)
Find a single value of the given type in the given Collection.
|
static boolean |
hasUniqueObject(java.util.Collection<?> collection)
Determine whether the given Collection only contains a single unique object.
|
static boolean |
isEmpty(java.util.Collection<?> collection)
Return
true if the supplied Collection is null or empty. |
static boolean |
isEmpty(java.util.Map<?,?> map)
Return
true if the supplied Map is null or empty. |
static <T> T |
lastElement(java.util.List<T> list)
Retrieve the last element of the given List, accessing the highest index.
|
static <T> T |
lastElement(java.util.Set<T> set)
Retrieve the last element of the given Set, using
SortedSet.last()
or otherwise iterating over all elements (assuming a linked set). |
static <E> void |
mergeArrayIntoCollection(java.lang.Object array,
java.util.Collection<E> collection)
Merge the given array into the given Collection.
|
static <K,V> void |
mergePropertiesIntoMap(java.util.Properties props,
java.util.Map<K,V> map)
Merge the given Properties instance into the given Map,
copying all properties (key-value pairs) over.
|
static <A,E extends A> |
toArray(java.util.Enumeration<E> enumeration,
A[] array)
Marshal the elements from the given enumeration into an array of the given type.
|
static <E> java.util.Iterator<E> |
toIterator(java.util.Enumeration<E> enumeration)
Adapt an enumeration to an iterator.
|
static <K,V> MultiValueMap<K,V> |
toMultiValueMap(java.util.Map<K,java.util.List<V>> map)
Adapt a
Map<K, List<V>> to an MultiValueMap<K, V> . |
static <K,V> MultiValueMap<K,V> |
unmodifiableMultiValueMap(MultiValueMap<? extends K,? extends V> map)
Return an unmodifiable view of the specified multi-value map.
|
public static boolean isEmpty(@Nullable java.util.Collection<?> collection)
true
if the supplied Collection is null
or empty.
Otherwise, return false
.collection
- the Collection to checkpublic static boolean isEmpty(@Nullable java.util.Map<?,?> map)
true
if the supplied Map is null
or empty.
Otherwise, return false
.map
- the Map to checkpublic static java.util.List arrayToList(@Nullable java.lang.Object source)
NOTE: Generally prefer the standard Arrays.asList(T...)
method.
This arrayToList
method is just meant to deal with an incoming Object
value that might be an Object[]
or a primitive array at runtime.
A null
source value will be converted to an empty List.
source
- the (potentially primitive) arrayObjectUtils.toObjectArray(Object)
,
Arrays.asList(Object[])
public static <E> void mergeArrayIntoCollection(@Nullable java.lang.Object array, java.util.Collection<E> collection)
array
- the array to merge (may be null
)collection
- the target Collection to merge the array intopublic static <K,V> void mergePropertiesIntoMap(@Nullable java.util.Properties props, java.util.Map<K,V> map)
Uses Properties.propertyNames()
to even catch
default properties linked into the original Properties instance.
props
- the Properties instance to merge (may be null
)map
- the target Map to merge the properties intopublic static boolean contains(@Nullable java.util.Iterator<?> iterator, java.lang.Object element)
iterator
- the Iterator to checkelement
- the element to look fortrue
if found, false
otherwisepublic static boolean contains(@Nullable java.util.Enumeration<?> enumeration, java.lang.Object element)
enumeration
- the Enumeration to checkelement
- the element to look fortrue
if found, false
otherwisepublic static boolean containsInstance(@Nullable java.util.Collection<?> collection, java.lang.Object element)
Enforces the given instance to be present, rather than returning
true
for an equal element as well.
collection
- the Collection to checkelement
- the element to look fortrue
if found, false
otherwisepublic static boolean containsAny(java.util.Collection<?> source, java.util.Collection<?> candidates)
true
if any element in 'candidates
' is
contained in 'source
'; otherwise returns false
.source
- the source Collectioncandidates
- the candidates to search for@Nullable public static <E> E findFirstMatch(java.util.Collection<?> source, java.util.Collection<E> candidates)
candidates
' that is contained in
'source
'. If no element in 'candidates
' is present in
'source
' returns null
. Iteration order is
Collection
implementation specific.source
- the source Collectioncandidates
- the candidates to search fornull
if not found@Nullable public static <T> T findValueOfType(java.util.Collection<?> collection, @Nullable java.lang.Class<T> type)
collection
- the Collection to searchtype
- the type to look fornull
if none or more than one such value found@Nullable public static java.lang.Object findValueOfType(java.util.Collection<?> collection, java.lang.Class<?>[] types)
collection
- the collection to searchtypes
- the types to look for, in prioritized ordernull
if none or more than one such value foundpublic static boolean hasUniqueObject(java.util.Collection<?> collection)
collection
- the Collection to checktrue
if the collection contains a single reference or
multiple references to the same instance, false
otherwise@Nullable public static java.lang.Class<?> findCommonElementType(java.util.Collection<?> collection)
collection
- the Collection to checknull
if no clear
common type has been found (or the collection was empty)@Nullable public static <T> T lastElement(@Nullable java.util.Set<T> set)
SortedSet.last()
or otherwise iterating over all elements (assuming a linked set).set
- the Set to check (may be null
or empty)null
if noneSortedSet
,
LinkedHashMap.keySet()
,
LinkedHashSet
@Nullable public static <T> T lastElement(@Nullable java.util.List<T> list)
list
- the List to check (may be null
or empty)null
if nonepublic static <A,E extends A> A[] toArray(java.util.Enumeration<E> enumeration, A[] array)
public static <E> java.util.Iterator<E> toIterator(java.util.Enumeration<E> enumeration)
enumeration
- the enumerationpublic static <K,V> MultiValueMap<K,V> toMultiValueMap(java.util.Map<K,java.util.List<V>> map)
Map<K, List<V>>
to an MultiValueMap<K, V>
.map
- the original mappublic static <K,V> MultiValueMap<K,V> unmodifiableMultiValueMap(MultiValueMap<? extends K,? extends V> map)
map
- the map for which an unmodifiable view is to be returned.