public final class CollectionUtil extends Object
Modifier and Type | Method and Description |
---|---|
static <T> List<T> |
asReadOnlyList(List<T> list)
Returns a read-only list.
|
static <T,K> Map<T,K> |
asReadOnlyMap(Map<T,K> map) |
static boolean |
equals(Object o1,
Object o2)
Equality function that properly handles arrays, lists, maps, lists of
arrays, and maps of arrays.
|
static <T> int |
forceCompare(Object o1,
Object o2)
Forces the compare of two comparable objects and removes any warnings
generated by the compiler.
|
static int |
hashCode(Object o)
hashCode function that properly handles arrays, collections, maps,
collections of arrays, and maps of arrays.
|
static <T> Set<T> |
intersection(Collection<T> c1,
Collection<T> c2)
Returns the intersection of two
Collection s as an unmodifiable
set. |
static boolean |
isCaseInsensitiveMap(Map<?,?> map)
Returns true if the given map is a case-insensitive map.
|
static boolean |
isCaseInsensitiveSet(Set<?> set)
Returns true if the given set is a case-insensitive set.
|
static <T> boolean |
isEmpty(Collection<T> c)
Determine if
Collection is empty or not, protects against null
being passed in. |
static <T> SortedMap<String,T> |
newCaseInsensitiveMap()
Creates a case-insensitive map.
|
static SortedSet<String> |
newCaseInsensitiveSet()
Creates a case-insensitive set.
|
static <T> List<T> |
newList(Collection<? extends T> c)
Create a modifiable list from the
Collection provided. |
static <T> List<T> |
newList(T... arr)
Create a modifiable list from the arguments.
|
static Map<String,String> |
newMap(Properties properties) |
static <T,K> Map<T,K> |
newMap(T[] k,
K[] v)
Builds a map from two arrays.
|
static <T,K> Map<T,K> |
newMap(T k0,
K v0) |
static <T,K> Map<T,K> |
newMap(T k0,
K v0,
T k1,
K v1) |
static <T,K> Map<T,K> |
newMap(T k0,
K v0,
T k1,
K v1,
T k2,
K v2) |
static <T,K> Map<T,K> |
newMap(T k0,
K v0,
T k1,
K v1,
T k2,
K v2,
T k3,
K v3) |
static <T,K> Map<T,K> |
newMap(T k0,
K v0,
T k1,
K v1,
T k2,
K v2,
T k3,
K v3,
T k4,
K v4) |
static <T,K> Map<T,K> |
newMap(T k0,
K v0,
T k1,
K v1,
T k2,
K v2,
T k3,
K v3,
T k4,
K v4,
T k5,
K v5) |
static <T,K> Map<T,K> |
newMapFromLists(List<T> keys,
List<K> values)
Converts two
List to a map. |
static <T> List<T> |
newReadOnlyList(Collection<? extends T> c)
Creates an unmodifiable
List from a collection. |
static <T> List<T> |
newReadOnlyList(List<? extends T> list)
|
static <T> List<T> |
newReadOnlyList(T... obj)
Creates an unmodifiable
List from a variable number arguments. |
static <T,K> Map<T,K> |
newReadOnlyMap(Map<T,K> map) |
static <T> Map<T,T> |
newReadOnlyMap(T[][] kv) |
static <T> Set<T> |
newReadOnlySet(Collection<T> c)
Creates an unmodifiable set from a
Collection . |
static <T> Set<T> |
newReadOnlySet(T... arr)
Creates an unmodifiable set from a variable number arguments.
|
static <T> Set<T> |
newSet(Collection<T> c)
Creates a set that can be modified from the
Collection provided. |
static <T> Set<T> |
newSet(T... arr)
Creates a set that can be modified from the arguments.
|
static <T extends Object & Comparable<? super T>> |
newSortedList(Collection<? extends T> col)
Create a modifiable sorted
List based on the Collection
provided. |
static <T> Collection<T> |
nullAsEmpty(Collection<T> c)
Protects from
null and returns a new instance of
HashSet . |
static <T> List<T> |
nullAsEmpty(List<T> list)
|
static <T,K> Map<T,K> |
nullAsEmpty(Map<T,K> map)
|
static <T> Set<T> |
nullAsEmpty(Set<T> set)
|
static <T> Set<T> |
union(Collection<T> c1,
Collection<T> c2)
Returns the union of two
Collection s as an unmodifiable set. |
static <T> Collection<T> |
unique(Collection<T> c)
Use
HashSet to create a unique Collection based on the
one passed in. |
public static SortedSet<String> newCaseInsensitiveSet()
public static boolean isCaseInsensitiveSet(Set<?> set)
set
- The set. May be null.public static <T> SortedMap<String,T> newCaseInsensitiveMap()
T
- The object type of the mappublic static boolean isCaseInsensitiveMap(Map<?,?> map)
map
- The map. May be null.public static <T> Collection<T> nullAsEmpty(Collection<T> c)
null
and returns a new instance of
HashSet
.
if the parameter c is null.T
- the type of the collectionc
- collection to checkHashSet
otherwise the parameter that was
passed in orpublic static <T,K> Map<T,K> nullAsEmpty(Map<T,K> map)
null
and returns a new instance of
HashMap
if the parameter map
is null
.
Otherwise return the parameter that was passed in.public static <T> Set<T> nullAsEmpty(Set<T> set)
null
and returns a new instance of
HashSet
if the parameter set
is null
.
Otherwise return the parameter that was passed in.public static <T> List<T> nullAsEmpty(List<T> list)
null
and returns a new instance of
ArrayList
if the parameter list
is null
. Otherwise return the parameter that was passed in.public static <T> boolean isEmpty(Collection<T> c)
Collection
is empty or not, protects against null
being passed in.public static <T> Collection<T> unique(Collection<T> c)
HashSet
to create a unique Collection
based on the
one passed in. The method protects against null. The
returned Collection
is unmodifiable.public static <T> Map<T,T> newReadOnlyMap(T[][] kv)
public static <T,K> Map<T,K> newMapFromLists(List<T> keys, List<K> values)
List
to a map. The order is important here because
each key will map to one value.public static Map<String,String> newMap(Properties properties)
public static <T,K> Map<T,K> newMap(T k0, K v0)
public static <T,K> Map<T,K> newMap(T k0, K v0, T k1, K v1)
public static <T,K> Map<T,K> newMap(T k0, K v0, T k1, K v1, T k2, K v2)
public static <T,K> Map<T,K> newMap(T k0, K v0, T k1, K v1, T k2, K v2, T k3, K v3)
public static <T,K> Map<T,K> newMap(T k0, K v0, T k1, K v1, T k2, K v2, T k3, K v3, T k4, K v4)
public static <T,K> Map<T,K> newMap(T k0, K v0, T k1, K v1, T k2, K v2, T k3, K v3, T k4, K v4, T k5, K v5)
public static <T,K> Map<T,K> newMap(T[] k, K[] v)
k
- Array of keys.v
- Array of values.public static <T> Set<T> newSet(Collection<T> c)
Collection
provided.public static <T> Set<T> newSet(T... arr)
public static <T> Set<T> newReadOnlySet(T... arr)
public static <T> Set<T> newReadOnlySet(Collection<T> c)
Collection
.public static <T> Set<T> union(Collection<T> c1, Collection<T> c2)
Collection
s as an unmodifiable set.public static <T> Set<T> intersection(Collection<T> c1, Collection<T> c2)
Collection
s as an unmodifiable
set.public static <T extends Object & Comparable<? super T>> List<T> newSortedList(Collection<? extends T> col)
List
based on the Collection
provided.public static <T> List<T> newList(Collection<? extends T> c)
Collection
provided. The return
value is backed by an ArrayList
.public static <T> List<T> newList(T... arr)
ArrayList
.public static <T> List<T> newReadOnlyList(T... obj)
List
from a variable number arguments.public static <T> List<T> newReadOnlyList(Collection<? extends T> c)
List
from a collection.public static <T> List<T> asReadOnlyList(List<T> list)
T
- The type of the listlist
- The list or null.public static <T> int forceCompare(Object o1, Object o2)
Comparable
the integer value of o1.compareTo(o2).public static int hashCode(Object o)
o
- The object. May be null.public static boolean equals(Object o1, Object o2)
NOTE: For Sets, this relies on the equals method of the Set to do the right thing. This is a reasonable assumption since, in order for Sets to behave properly as Sets, their values must already have a proper implementation of equals. (Or they must be specialized Sets that define a custom comparator that knows how to do the right thing). The same holds true for Map keys. Map values, on the other hand, are compared (so Map values can be arrays).
o1
- The first object. May be null.o2
- The second object. May be null.Copyright © 2019. All rights reserved.