public final class CollectionUtils extends Object
Modifier and Type | Method and Description |
---|---|
static <T,U> Map<T,List<U>> |
deepCopyMap(Map<T,? extends List<U>> map)
Perform a deep copy of the provided map of lists.
|
static <T,U> Map<T,List<U>> |
deepCopyMap(Map<T,? extends List<U>> map,
Supplier<Map<T,List<U>>> mapConstructor)
Perform a deep copy of the provided map of lists.
|
static <T,U> Map<T,List<U>> |
deepUnmodifiableMap(Map<T,? extends List<U>> map)
Perform a deep copy of the provided map of lists, and make the result unmodifiable.
|
static <T,U> Map<T,List<U>> |
deepUnmodifiableMap(Map<T,? extends List<U>> map,
Supplier<Map<T,List<U>>> mapConstructor)
Perform a deep copy of the provided map of lists, and make the result unmodifiable.
|
static <K,V> Map<K,V> |
filterMap(Map<K,V> map,
Predicate<Map.Entry<K,V>> condition)
Filters a map based on a condition
|
static <T> T |
firstIfPresent(List<T> list) |
static <K,V> Map<K,V> |
inverseMap(Map<V,K> inputMap)
Return a new map that is the inverse of the supplied map, with the values becoming the keys
and vice versa.
|
static boolean |
isNotEmpty(Map<?,?> map) |
static boolean |
isNullOrEmpty(Collection<?> collection) |
static boolean |
isNullOrEmpty(Map<?,?> map) |
static <K,VInT,VOutT> |
mapValues(Map<K,VInT> inputMap,
Function<VInT,VOutT> mapper)
Transforms the values of a map to another map with the same keys, using the supplied function.
|
static <T> List<T> |
mergeLists(List<T> list1,
List<T> list2)
Returns a new list containing the second list appended to the first list.
|
static <K,V> Collector<Map.Entry<K,V>,?,Map<K,V>> |
toMap()
Collect a stream of
Map.Entry to a Map with the same key/value types |
static <K,V> Map<K,V> |
uniqueIndex(Iterable<V> values,
Function<? super V,K> indexFunction)
For a collection of values of type
V that can all be converted to type K , create a map that
indexes all of the values by K . |
static <T,U> Map<T,List<U>> |
unmodifiableMapOfLists(Map<T,List<U>> map) |
public static boolean isNullOrEmpty(Collection<?> collection)
public static boolean isNullOrEmpty(Map<?,?> map)
public static boolean isNotEmpty(Map<?,?> map)
public static <T> List<T> mergeLists(List<T> list1, List<T> list2)
public static <T> T firstIfPresent(List<T> list)
T
- Type of elements in the list.list
- List to get first element from.public static <T,U> Map<T,List<U>> deepCopyMap(Map<T,? extends List<U>> map)
public static <T,U> Map<T,List<U>> deepCopyMap(Map<T,? extends List<U>> map, Supplier<Map<T,List<U>>> mapConstructor)
public static <T,U> Map<T,List<U>> unmodifiableMapOfLists(Map<T,List<U>> map)
public static <T,U> Map<T,List<U>> deepUnmodifiableMap(Map<T,? extends List<U>> map)
deepCopyMap(java.util.Map<T, ? extends java.util.List<U>>)
followed by unmodifiableMapOfLists(java.util.Map<T, java.util.List<U>>)
.public static <T,U> Map<T,List<U>> deepUnmodifiableMap(Map<T,? extends List<U>> map, Supplier<Map<T,List<U>>> mapConstructor)
deepCopyMap(java.util.Map<T, ? extends java.util.List<U>>)
followed by unmodifiableMapOfLists(java.util.Map<T, java.util.List<U>>)
.public static <K,V> Collector<Map.Entry<K,V>,?,Map<K,V>> toMap()
Map.Entry
to a Map
with the same key/value typesK
- the key typeV
- the value typepublic static <K,VInT,VOutT> Map<K,VOutT> mapValues(Map<K,VInT> inputMap, Function<VInT,VOutT> mapper)
K
- the key typeVInT
- the value type for the input mapVOutT
- the value type for the output mapinputMap
- the input mapmapper
- the function used to transform the map valuespublic static <K,V> Map<K,V> filterMap(Map<K,V> map, Predicate<Map.Entry<K,V>> condition)
K
- the key typeV
- the value typemap
- the input mapcondition
- the predicate to filter onpublic static <K,V> Map<K,V> inverseMap(Map<V,K> inputMap)
K
- the key typeV
- the value typeinputMap
- a map where both the keys and values are uniquepublic static <K,V> Map<K,V> uniqueIndex(Iterable<V> values, Function<? super V,K> indexFunction)
V
that can all be converted to type K
, create a map that
indexes all of the values by K
. This requires that no two values map to the same index.K
- the index (or key) typeV
- the value typevalues
- the collection of values to indexindexFunction
- the function used to convert a value to its indexIllegalArgumentException
- if any of the values map to the same indexCopyright © 2022. All rights reserved.