public abstract class CollectionUtils extends Object
Constructor and Description |
---|
CollectionUtils() |
Modifier and Type | Method and Description |
---|---|
static List |
arrayToList(Object source)
Convert the supplied array into a List.
|
static boolean |
contains(Enumeration enumeration,
Object element)
Check whether the given Enumeration contains the given element.
|
static boolean |
contains(Iterator iterator,
Object element)
Check whether the given Iterator contains the given element.
|
static boolean |
containsAny(Collection source,
Collection candidates)
Return
true if any element in 'candidates ' is
contained in 'source '; otherwise returns false . |
static boolean |
containsInstance(Collection collection,
Object element)
Check whether the given Collection contains the given element instance.
|
static Class<?> |
findCommonElementType(Collection collection)
Find the common element type of the given Collection, if any.
|
static Object |
findFirstMatch(Collection source,
Collection candidates)
Return the first element in '
candidates ' that is contained in
'source '. |
static Object |
findValueOfType(Collection<?> collection,
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(Collection<?> collection,
Class<T> type)
Find a single value of the given type in the given Collection.
|
static boolean |
hasUniqueObject(Collection collection)
Determine whether the given Collection only contains a single unique object.
|
static boolean |
isEmpty(Collection collection)
Return
true if the supplied Collection is null or empty. |
static boolean |
isEmpty(Map map)
Return
true if the supplied Map is null or empty. |
static void |
mergeArrayIntoCollection(Object array,
Collection collection)
Merge the given array into the given Collection.
|
static void |
mergePropertiesIntoMap(Properties props,
Map map)
Merge the given Properties instance into the given Map,
copying all properties (key-value pairs) over.
|
static <A,E extends A> |
toArray(Enumeration<E> enumeration,
A[] array)
Marshal the elements from the given enumeration into an array of the given type.
|
static <E> Iterator<E> |
toIterator(Enumeration<E> enumeration)
Adapt an enumeration to an iterator.
|
static <K,V> MultiValueMap<K,V> |
toMultiValueMap(Map<K,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(Collection collection)
true
if the supplied Collection is null
or empty.
Otherwise, return false
.collection
- the Collection to checkpublic static boolean isEmpty(Map map)
true
if the supplied Map is null
or empty.
Otherwise, return false
.map
- the Map to checkpublic static List arrayToList(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 void mergeArrayIntoCollection(Object array, Collection collection)
array
- the array to merge (may be null
)collection
- the target Collection to merge the array intopublic static void mergePropertiesIntoMap(Properties props, Map 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(Iterator iterator, Object element)
iterator
- the Iterator to checkelement
- the element to look fortrue
if found, false
elsepublic static boolean contains(Enumeration enumeration, Object element)
enumeration
- the Enumeration to checkelement
- the element to look fortrue
if found, false
elsepublic static boolean containsInstance(Collection collection, 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
elsepublic static boolean containsAny(Collection source, Collection candidates)
true
if any element in 'candidates
' is
contained in 'source
'; otherwise returns false
.source
- the source Collectioncandidates
- the candidates to search forpublic static Object findFirstMatch(Collection source, Collection 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 foundpublic static <T> T findValueOfType(Collection<?> collection, Class<T> type)
collection
- the Collection to searchtype
- the type to look fornull
if none or more than one such value foundpublic static Object findValueOfType(Collection<?> collection, 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(Collection collection)
collection
- the Collection to checktrue
if the collection contains a single reference or
multiple references to the same instance, false
elsepublic static Class<?> findCommonElementType(Collection collection)
collection
- the Collection to checknull
if no clear
common type has been found (or the collection was empty)public static <A,E extends A> A[] toArray(Enumeration<E> enumeration, A[] array)
public static <E> Iterator<E> toIterator(Enumeration<E> enumeration)
enumeration
- the enumerationpublic static <K,V> MultiValueMap<K,V> toMultiValueMap(Map<K,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.