Package org.codehaus.plexus.util
Class CollectionUtils
java.lang.Object
org.codehaus.plexus.util.CollectionUtils
- Author:
- olamy
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetCardinalityMap(Collection<E> col) Returns aMapmapping each unique element in the givenCollectionto anIntegerrepresenting the number of occurrences of that element in theCollection.static <E> Collection<E>intersection(Collection<E> a, Collection<E> b) Returns aCollectioncontaining the intersection of the givenCollections.static <E> List<E>iteratorToList(Iterator<E> it) static <K,V> Map<K, V> Take a series ofMaps and merge them where the ordering of the array from 0..n is the dominant order.static <K,V> Map<K, V> Take a dominant and recessive Map and merge the key:value pairs where the recessive Map may add key:value pairs to the dominant Map but may not override any existing key:value pairs.static <T> Collection<T>subtract(Collection<T> a, Collection<T> b) Returns aCollectioncontaininga - b.
-
Constructor Details
-
CollectionUtils
public CollectionUtils()
-
-
Method Details
-
mergeMaps
Take a dominant and recessive Map and merge the key:value pairs where the recessive Map may add key:value pairs to the dominant Map but may not override any existing key:value pairs. If we have two Maps, a dominant and recessive, and their respective keys are as follows: dominantMapKeys = { a, b, c, d, e, f } recessiveMapKeys = { a, b, c, x, y, z } Then the result should be the following: resultantKeys = { a, b, c, d, e, f, x, y, z }- Type Parameters:
K- typeV- type- Parameters:
dominantMap- Dominant Map.recessiveMap- Recessive Map.- Returns:
- The result map with combined dominant and recessive values.
-
mergeMaps
Take a series ofMaps and merge them where the ordering of the array from 0..n is the dominant order.- Type Parameters:
K- typeV- type- Parameters:
maps- An array of Maps to merge.- Returns:
- Map The result Map produced after the merging process.
-
intersection
Returns a
The cardinality of each element in the returnedCollectioncontaining the intersection of the givenCollections.Collectionwill be equal to the minimum of the cardinality of that element in the two givenCollections.- Type Parameters:
E- the type- Parameters:
a- The first collectionb- The second collection- Returns:
- The intersection of a and b, never null
- See Also:
-
subtract
Returns aCollectioncontaininga - b. The cardinality of each element e in the returnedCollectionwill be the cardinality of e in a minus the cardinality of e in b, or zero, whichever is greater.- Type Parameters:
T- the type- Parameters:
a- The start collectionb- The collection that will be subtracted- Returns:
- The result of the subtraction
- See Also:
-
getCardinalityMap
Returns aMapmapping each unique element in the givenCollectionto anIntegerrepresenting the number of occurrences of that element in theCollection. An entry that maps tonullindicates that the element does not appear in the givenCollection.- Type Parameters:
E- the type- Parameters:
col- The collection to count cardinalities for- Returns:
- A map of counts, indexed on each element in the collection
-
iteratorToList
-