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  trueif any element in 'candidates' is
 contained in 'source'; otherwise returnsfalse. | 
| 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 <E> E | findFirstMatch(Collection<?> source,
              Collection<E> 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 <T> T | firstElement(List<T> list)Retrieve the first element of the given List, accessing the zero index. | 
| static <T> T | firstElement(Set<T> set)Retrieve the first element of the given Set, using  SortedSet.first()or otherwise using the iterator. | 
| static boolean | hasUniqueObject(Collection<?> collection)Determine whether the given Collection only contains a single unique object. | 
| static boolean | isEmpty(Collection<?> collection)Return  trueif the supplied Collection isnullor empty. | 
| static boolean | isEmpty(Map<?,?> map)Return  trueif the supplied Map isnullor empty. | 
| static <T> T | lastElement(List<T> list)Retrieve the last element of the given List, accessing the highest index. | 
| static <T> T | lastElement(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(Object array,
                        Collection<E> collection)Merge the given array into the given Collection. | 
| static <K,V> void | mergePropertiesIntoMap(Properties props,
                      Map<K,V> map)Merge the given Properties instance into the given Map,
 copying all properties (key-value pairs) over. | 
| static <K,V> HashMap<K,V> | newHashMap(int expectedSize)Instantiate a new  HashMapwith an initial capacity
 that can accommodate the specified number of elements without
 any immediate resize/rehash operations to be expected. | 
| static <K,V> LinkedHashMap<K,V> | newLinkedHashMap(int expectedSize)Instantiate a new  LinkedHashMapwith an initial capacity
 that can accommodate the specified number of elements without
 any immediate resize/rehash operations to be expected. | 
| 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  Enumerationto anIterator. | 
| static <K,V> MultiValueMap<K,V> | toMultiValueMap(Map<K,List<V>> targetMap)Adapt a  Map<K, List<V>>to anMultiValueMap<K, V>. | 
| static <K,V> MultiValueMap<K,V> | unmodifiableMultiValueMap(MultiValueMap<? extends K,? extends V> targetMap)Return an unmodifiable view of the specified multi-value map. | 
public static boolean isEmpty(@Nullable Collection<?> collection)
true if the supplied Collection is null or empty.
 Otherwise, return false.collection - the Collection to checkpublic static boolean isEmpty(@Nullable Map<?,?> map)
true if the supplied Map is null or empty.
 Otherwise, return false.map - the Map to checkpublic static <K,V> HashMap<K,V> newHashMap(int expectedSize)
HashMap with an initial capacity
 that can accommodate the specified number of elements without
 any immediate resize/rehash operations to be expected.
 This differs from the regular HashMap constructor
 which takes an initial capacity relative to a load factor
 but is effectively aligned with the JDK's
 ConcurrentHashMap(int).
expectedSize - the expected number of elements (with a corresponding
 capacity to be derived so that no resize/rehash operations are needed)newLinkedHashMap(int)public static <K,V> LinkedHashMap<K,V> newLinkedHashMap(int expectedSize)
LinkedHashMap with an initial capacity
 that can accommodate the specified number of elements without
 any immediate resize/rehash operations to be expected.
 This differs from the regular LinkedHashMap constructor
 which takes an initial capacity relative to a load factor but is
 aligned with Spring's own LinkedCaseInsensitiveMap and
 LinkedMultiValueMap constructor semantics as of 5.3.
expectedSize - the expected number of elements (with a corresponding
 capacity to be derived so that no resize/rehash operations are needed)newHashMap(int)public static List<?> arrayToList(@Nullable 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 Object array, 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 Properties props, 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 Iterator<?> iterator, Object element)
iterator - the Iterator to checkelement - the element to look fortrue if found, false otherwisepublic static boolean contains(@Nullable Enumeration<?> enumeration, Object element)
enumeration - the Enumeration to checkelement - the element to look fortrue if found, false otherwisepublic static boolean containsInstance(@Nullable 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 otherwisepublic 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 for@Nullable public static <E> E findFirstMatch(Collection<?> source, 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(Collection<?> collection, @Nullable 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 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 otherwise@Nullable public static Class<?> findCommonElementType(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 firstElement(@Nullable Set<T> set)
SortedSet.first()
 or otherwise using the iterator.set - the Set to check (may be null or empty)null if noneSortedSet, 
LinkedHashMap.keySet(), 
LinkedHashSet@Nullable public static <T> T firstElement(@Nullable List<T> list)
list - the List to check (may be null or empty)null if none@Nullable public static <T> T lastElement(@Nullable 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 List<T> list)
list - the List to check (may be null or empty)null if nonepublic static <A,E extends A> A[] toArray(Enumeration<E> enumeration, A[] array)
public static <E> Iterator<E> toIterator(@Nullable Enumeration<E> enumeration)
Enumeration to an Iterator.enumeration - the original EnumerationIteratorpublic static <K,V> MultiValueMap<K,V> toMultiValueMap(Map<K,List<V>> targetMap)
Map<K, List<V>> to an MultiValueMap<K, V>.targetMap - the original mappublic static <K,V> MultiValueMap<K,V> unmodifiableMultiValueMap(MultiValueMap<? extends K,? extends V> targetMap)
targetMap - the map for which an unmodifiable view is to be returned.