public final class CollectionUtil extends Object
Modifier and Type | Field and Description |
---|---|
static TypeMap |
COLLECTION_CLASSES_BY_NAMES |
static TypeMap |
COLLECTION_INTERFACES_BY_NAMES |
Modifier and Type | Method and Description |
---|---|
static int |
addWithoutDuplicates(Collection<String> source,
Collection<String> target)
Add elements from the source to the target as long as they don't already
exist there.
|
static <T> T[] |
addWithoutDuplicates(T[] values,
T newValue)
If the newValue is already held within the values array then the values
array is returned, otherwise a new array is created appending the
newValue to the end.
|
static <T> T[] |
addWithoutDuplicates(T[] values,
T[] newValues)
Returns an array of values as a union set of the two input arrays.
|
static boolean |
areEqual(Object value,
Object otherValue)
A comprehensive isEqual method that handles nulls and arrays safely.
|
static <T> boolean |
areSemanticEquals(T[] a,
T[] b)
Returns true if both arrays are if both are null or have zero-length,
otherwise return the false if their respective elements are not equal by
position.
|
static boolean |
arraysAreEqual(Object value,
Object otherValue)
Returns true if the objects are array instances and each of their
elements compares via equals as well.
|
static <T> Set<T> |
asSet(T[] items)
Returns the items as a populated set.
|
static Class<?> |
getCollectionTypeFor(String shortName)
Returns the collection type if we recognize it by its short name.
|
static <K,V> Map<V,K> |
invertedMapFrom(Map<K,V> source)
Returns a map based on the source but with the key & values swapped.
|
static boolean |
isCollectionType(Class<?> clazzType,
boolean includeInterfaces)
Return whether we can identify the typeName as a java.util collection
class or interface as specified.
|
static boolean |
isCollectionType(String typeName,
boolean includeInterfaces)
Return whether we can identify the typeName as a java.util collection
class or interface as specified.
|
static boolean |
isEmpty(Object[] items)
Returns whether the items array is null or has zero length.
|
static boolean |
isNotEmpty(Object[] items)
Returns whether the items array is non-null and has at least one entry.
|
static <K,V> Map<K,V> |
mapFrom(K[] keys,
V[] values)
Creates and returns a map populated with the keyValuesSets where the
value held by the tuples are they key and value in that order.
|
static boolean |
valuesAreTransitivelyEqual(Object[] thisArray,
Object[] thatArray)
Returns whether the arrays are equal by examining each of their elements,
even if they are arrays themselves.
|
public static final TypeMap COLLECTION_INTERFACES_BY_NAMES
public static final TypeMap COLLECTION_CLASSES_BY_NAMES
public static int addWithoutDuplicates(Collection<String> source, Collection<String> target)
source
- target
- public static Class<?> getCollectionTypeFor(String shortName)
shortName
- Stringpublic static boolean isCollectionType(String typeName, boolean includeInterfaces)
typeName
- StringincludeInterfaces
- booleanpublic static boolean isCollectionType(Class<?> clazzType, boolean includeInterfaces)
clazzType
- ClassincludeInterfaces
- booleanpublic static <T> Set<T> asSet(T[] items)
items
- Object[]public static <K,V> Map<K,V> mapFrom(K[] keys, V[] values)
keys
- K[]values
- V[]public static <K,V> Map<V,K> invertedMapFrom(Map<K,V> source)
source
- Mappublic static boolean arraysAreEqual(Object value, Object otherValue)
value
- ObjectotherValue
- Objectpublic static boolean valuesAreTransitivelyEqual(Object[] thisArray, Object[] thatArray)
thisArray
- Object[]thatArray
- Object[]public static boolean areEqual(Object value, Object otherValue)
value
- ObjectotherValue
- Objectpublic static boolean isEmpty(Object[] items)
items
- public static boolean isNotEmpty(Object[] items)
items
- public static <T> boolean areSemanticEquals(T[] a, T[] b)
T
- a
- b
- public static <T> T[] addWithoutDuplicates(T[] values, T newValue)
T
- values
- newValue
- public static <T> T[] addWithoutDuplicates(T[] values, T[] newValues)
T
- values
- newValues
- Copyright © 2002–2017 PMD. All rights reserved.