|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.collections.CollectionUtils
public class CollectionUtils
Provides utility methods and decorators for Collection
instances.
Field Summary | |
---|---|
static Collection |
EMPTY_COLLECTION
An empty unmodifiable collection. |
Constructor Summary | |
---|---|
CollectionUtils()
CollectionUtils should not normally be instantiated. |
Method Summary | ||
---|---|---|
static
|
addAll(Collection<E> collection,
E[] elements)
Adds all elements in the array to the given collection. |
|
static
|
addAll(Collection<E> collection,
Enumeration<E> enumeration)
Adds all elements in the enumeration to the given collection. |
|
static
|
addAll(Collection<E> collection,
Iterator<E> iterator)
Adds all elements in the iteration to the given collection. |
|
static
|
cardinality(E obj,
Collection<E> coll)
Returns the number of occurrences of obj in coll. |
|
static
|
collect(Collection<I> inputCollection,
Transformer<I,O> transformer)
Returns a new Collection consisting of the elements of inputCollection transformed by the given transformer. |
|
static
|
collect(Collection<I> inputCollection,
Transformer<I,O> transformer,
Collection<O> outputCollection)
Transforms all elements from inputCollection with the given transformer and adds them to the outputCollection. |
|
static
|
collect(Iterator<I> inputIterator,
Transformer<I,O> transformer)
Transforms all elements from the inputIterator with the given transformer and adds them to the outputCollection. |
|
static
|
collect(Iterator<I> inputIterator,
Transformer<I,O> transformer,
Collection<O> outputCollection)
Transforms all elements from the inputIterator with the given transformer and adds them to the outputCollection. |
|
static
|
containsAny(Collection<E> coll1,
Collection<E> coll2)
Returns true iff at least one element is in both collections. |
|
static
|
countMatches(Collection<E> inputCollection,
Predicate<E> predicate)
Counts the number of elements in the input collection that match the predicate. |
|
static
|
disjunction(Collection<E> a,
Collection<E> b)
Returns a Collection containing the exclusive disjunction
(symmetric difference) of the given Collection s. |
|
static
|
exists(Collection<E> collection,
Predicate<E> predicate)
Answers true if a predicate is true for at least one element of a collection. |
|
static
|
filter(Collection<E> collection,
Predicate<E> predicate)
Filter the collection by applying a Predicate to each element. |
|
static
|
find(Collection<E> collection,
Predicate<E> predicate)
Finds the first element in the given collection which matches the given predicate. |
|
static
|
forAllDo(Collection<E> collection,
Closure<E> closure)
Executes the given closure on each element in the collection. |
|
static Object |
get(Object object,
int index)
Returns the index -th value in object , throwing
IndexOutOfBoundsException if there is no such element or
IllegalArgumentException if object is not an
instance of one of the supported types. |
|
static
|
getCardinalityMap(Collection<E> coll)
Returns a Map mapping each unique element in the given
Collection to an Integer representing the number
of occurrences of that element in the Collection . |
|
static Object |
index(Object obj,
int idx)
Deprecated. use get(Object, int) instead. Will be removed in v4.0 |
|
static Object |
index(Object obj,
Object index)
Deprecated. use get(Object, int) instead. Will be removed in v4.0 |
|
static
|
intersection(Collection<E> a,
Collection<E> b)
Returns a Collection containing the intersection
of the given Collection s. |
|
static
|
isEqualCollection(Collection<E> a,
Collection<E> b)
Returns true iff the given Collection s contain
exactly the same elements with exactly the same cardinalities. |
|
static boolean |
isFull(Collection coll)
Returns true if no more elements can be added to the Collection. |
|
static
|
isProperSubCollection(Collection<E> a,
Collection<E> b)
Returns true iff a is a proper sub-collection of b, that is, iff the cardinality of e in a is less than or equal to the cardinality of e in b, for each element e in a, and there is at least one element f such that the cardinality of f in b is strictly greater than the cardinality of f in a. |
|
static
|
isSubCollection(Collection<E> a,
Collection<E> b)
Returns true iff a is a sub-collection of b, that is, iff the cardinality of e in a is less than or equal to the cardinality of e in b, for each element e in a. |
|
static int |
maxSize(Collection coll)
Get the maximum number of elements that the Collection can contain. |
|
static
|
predicatedCollection(Collection<E> collection,
Predicate<E> predicate)
Returns a predicated (validating) collection backed by the given collection. |
|
static void |
reverseArray(Object[] array)
Reverses the order of the given array. |
|
static
|
select(Collection<E> inputCollection,
Predicate<E> predicate)
Selects all elements from input collection which match the given predicate into an output collection. |
|
static
|
select(Collection<E> inputCollection,
Predicate<E> predicate,
Collection<E> outputCollection)
Selects all elements from input collection which match the given predicate and adds them to outputCollection. |
|
static
|
selectRejected(Collection<E> inputCollection,
Predicate<E> predicate)
Selects all elements from inputCollection which don't match the given predicate into an output collection. |
|
static
|
selectRejected(Collection<E> inputCollection,
Predicate<E> predicate,
Collection<E> outputCollection)
Selects all elements from inputCollection which don't match the given predicate and adds them to outputCollection. |
|
static int |
size(Object object)
Gets the size of the collection/iterator specified. |
|
static
|
subtract(Collection<E> a,
Collection<E> b)
Returns a new Collection containing a - b. |
|
static
|
synchronizedCollection(Collection<E> collection)
Returns a synchronized collection backed by the given collection. |
|
static
|
transform(Collection<E> collection,
Transformer<E,E> transformer)
Transform the collection by applying a Transformer to each element. |
|
static
|
transformedCollection(Collection<I> collection,
Transformer<I,O> transformer)
Returns a transformed bag backed by the given collection. |
|
static
|
typedCollection(Collection<E> collection,
Class<E> type)
Deprecated. Obsoleted by Java 1.5 Generics. |
|
static
|
union(Collection<E> a,
Collection<E> b)
Returns a Collection containing the union
of the given Collection s. |
|
static
|
unmodifiableCollection(Collection<E> collection)
Returns an unmodifiable collection backed by the given collection. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final Collection EMPTY_COLLECTION
Constructor Detail |
---|
public CollectionUtils()
CollectionUtils
should not normally be instantiated.
Method Detail |
---|
public static <E> Collection<E> union(Collection<E> a, Collection<E> b)
Collection
containing the union
of the given Collection
s.
The cardinality of each element in the returned Collection
will be equal to the maximum of the cardinality of that element
in the two given Collection
s.
a
- the first collection, must not be nullb
- the second collection, must not be null
Collection.addAll(java.util.Collection extends E>)
public static <E> Collection<E> intersection(Collection<E> a, Collection<E> b)
Collection
containing the intersection
of the given Collection
s.
The cardinality of each element in the returned Collection
will be equal to the minimum of the cardinality of that element
in the two given Collection
s.
a
- the first collection, must not be nullb
- the second collection, must not be null
Collection.retainAll(java.util.Collection>)
,
containsAny(java.util.Collection, java.util.Collection)
public static <E> Collection<E> disjunction(Collection<E> a, Collection<E> b)
Collection
containing the exclusive disjunction
(symmetric difference) of the given Collection
s.
The cardinality of each element e in the returned Collection
will be equal to
max(cardinality(e,a),cardinality(e,b)) - min(cardinality(e,a),cardinality(e,b)).
This is equivalent to
subtract
(union(a,b)
,intersection(a,b)
)
or
union
(subtract(a,b)
,subtract(b,a)
).
a
- the first collection, must not be nullb
- the second collection, must not be null
public static <E> Collection<E> subtract(Collection<E> a, Collection<E> b)
Collection
containing a - b.
The cardinality of each element e in the returned Collection
will be the cardinality of e in a minus the cardinality
of e in b, or zero, whichever is greater.
a
- the collection to subtract from, must not be nullb
- the collection to subtract, must not be null
Collection.removeAll(java.util.Collection>)
public static <E> boolean containsAny(Collection<E> coll1, Collection<E> coll2)
true
iff at least one element is in both collections.
In other words, this method returns true
iff the
intersection(java.util.Collection, java.util.Collection)
of coll1 and coll2 is not empty.
coll1
- the first collection, must not be nullcoll2
- the first collection, must not be null
true
iff the intersection of the collections is non-emptyintersection(java.util.Collection, java.util.Collection)
public static <E> Map<E,Integer> getCardinalityMap(Collection<E> coll)
Map
mapping each unique element in the given
Collection
to an Integer
representing the number
of occurrences of that element in the Collection
.
Only those elements present in the collection will appear as
keys in the map.
coll
- the collection to get the cardinality map for, must not be null
public static <E> boolean isSubCollection(Collection<E> a, Collection<E> b)
a
- the first (sub?) collection, must not be nullb
- the second (super?) collection, must not be null
true
iff a is a sub-collection of bisProperSubCollection(java.util.Collection, java.util.Collection)
,
Collection.containsAll(java.util.Collection>)
public static <E> boolean isProperSubCollection(Collection<E> a, Collection<E> b)
a.size()
and b.size()
represent the
total cardinality of a and b, resp. a.size() < Integer.MAXVALUE
a
- the first (sub?) collection, must not be nullb
- the second (super?) collection, must not be null
true
iff a is a proper sub-collection of bisSubCollection(java.util.Collection, java.util.Collection)
,
Collection.containsAll(java.util.Collection>)
public static <E> boolean isEqualCollection(Collection<E> a, Collection<E> b)
Collection
s contain
exactly the same elements with exactly the same cardinalities.
That is, iff the cardinality of e in a is
equal to the cardinality of e in b,
for each element e in a or b.
a
- the first collection, must not be nullb
- the second collection, must not be null
true
iff the collections contain the same elements with the same cardinalities.public static <E> int cardinality(E obj, Collection<E> coll)
obj
- the object to find the cardinality ofcoll
- the collection to search
public static <E> E find(Collection<E> collection, Predicate<E> predicate)
collection
- the collection to search, may be nullpredicate
- the predicate to use, may be null
public static <E> void forAllDo(Collection<E> collection, Closure<E> closure)
collection
- the collection to get the input from, may be nullclosure
- the closure to perform, may be nullpublic static <E> void filter(Collection<E> collection, Predicate<E> predicate)
collection
- the collection to get the input from, may be nullpredicate
- the predicate to use as a filter, may be nullpublic static <E> void transform(Collection<E> collection, Transformer<E,E> transformer)
collection
- the collection to get the input from, may be nulltransformer
- the transformer to perform, may be nullpublic static <E> int countMatches(Collection<E> inputCollection, Predicate<E> predicate)
null
collection or predicate matches no elements.
inputCollection
- the collection to get the input from, may be nullpredicate
- the predicate to use, may be null
public static <E> boolean exists(Collection<E> collection, Predicate<E> predicate)
null
collection or predicate returns false.
collection
- the collection to get the input from, may be nullpredicate
- the predicate to use, may be null
public static <E> Collection<E> select(Collection<E> inputCollection, Predicate<E> predicate)
null
predicate matches no elements.
inputCollection
- the collection to get the input from, may not be nullpredicate
- the predicate to use, may be null
NullPointerException
- if the input collection is nullpublic static <E> void select(Collection<E> inputCollection, Predicate<E> predicate, Collection<E> outputCollection)
inputCollection
- the collection to get the input from, may be nullpredicate
- the predicate to use, may be nulloutputCollection
- the collection to output into, may not be nullpublic static <E> Collection<E> selectRejected(Collection<E> inputCollection, Predicate<E> predicate)
null
, the result is an empty list.
inputCollection
- the collection to get the input from, may not be nullpredicate
- the predicate to use, may be null
NullPointerException
- if the input collection is nullpublic static <E> void selectRejected(Collection<E> inputCollection, Predicate<E> predicate, Collection<E> outputCollection)
null
, no elements are added to outputCollection
.
inputCollection
- the collection to get the input from, may be nullpredicate
- the predicate to use, may be nulloutputCollection
- the collection to output into, may not be nullpublic static <I,O> Collection<O> collect(Collection<I> inputCollection, Transformer<I,O> transformer)
inputCollection
- the collection to get the input from, may not be nulltransformer
- the transformer to use, may be null
NullPointerException
- if the input collection is nullpublic static <I,O> Collection<O> collect(Iterator<I> inputIterator, Transformer<I,O> transformer)
inputIterator
- the iterator to get the input from, may be nulltransformer
- the transformer to use, may be null
public static <I,O> Collection<O> collect(Collection<I> inputCollection, Transformer<I,O> transformer, Collection<O> outputCollection)
inputCollection
- the collection to get the input from, may be nulltransformer
- the transformer to use, may be nulloutputCollection
- the collection to output into, may not be null
NullPointerException
- if the output collection is nullpublic static <I,O> Collection<O> collect(Iterator<I> inputIterator, Transformer<I,O> transformer, Collection<O> outputCollection)
inputIterator
- the iterator to get the input from, may be nulltransformer
- the transformer to use, may be nulloutputCollection
- the collection to output into, may not be null
NullPointerException
- if the output collection is nullpublic static <E> void addAll(Collection<E> collection, Iterator<E> iterator)
collection
- the collection to add toiterator
- the iterator of elements to add, may not be null
NullPointerException
- if the collection or iterator is nullpublic static <E> void addAll(Collection<E> collection, Enumeration<E> enumeration)
collection
- the collection to add toenumeration
- the enumeration of elements to add, may not be null
NullPointerException
- if the collection or enumeration is nullpublic static <E> void addAll(Collection<E> collection, E[] elements)
collection
- the collection to add to, may not be nullelements
- the array of elements to add, may not be null
NullPointerException
- if the collection or array is nullpublic static Object index(Object obj, int idx)
get(Object, int)
instead. Will be removed in v4.0
obj
- the object to get an index of, may be nullidx
- the index to get
IndexOutOfBoundsException
ArrayIndexOutOfBoundsException
public static Object index(Object obj, Object index)
get(Object, int)
instead. Will be removed in v4.0
obj
- the object to get an index ofindex
- the index to get
IndexOutOfBoundsException
ArrayIndexOutOfBoundsException
public static Object get(Object object, int index)
index
-th value in object
, throwing
IndexOutOfBoundsException
if there is no such element or
IllegalArgumentException
if object
is not an
instance of one of the supported types.
The supported types, and associated semantics are:
Map.Entry
in position
index
in the map's entrySet
iterator,
if there is such an entry.index
-th array entry is returned,
if there is such an entry; otherwise an IndexOutOfBoundsException
is thrown.index
-th object
returned by the collection's default iterator, if there is such an element.index
-th object in the Iterator/Enumeration, if there
is such an element. The Iterator/Enumeration is advanced to
index
(or to the end, if index
exceeds the
number of entries) as a side effect of this method.
object
- the object to get a value fromindex
- the index to get
IndexOutOfBoundsException
- if the index is invalid
IllegalArgumentException
- if the object type is invalidpublic static int size(Object object)
object
- the object to get the size of
IllegalArgumentException
- thrown if object is not recognised or nullpublic static void reverseArray(Object[] array)
array
- the array to reversepublic static boolean isFull(Collection coll)
BoundedCollection
interface to determine the
full status. If the collection does not implement this interface then
false is returned.
The collection does not have to implement this interface directly.
If the collection has been decorated using the decorators subpackage
then these will be removed to access the BoundedCollection.
coll
- the collection to check
NullPointerException
- if the collection is nullpublic static int maxSize(Collection coll)
BoundedCollection
interface to determine the
maximum size. If the collection does not implement this interface then
-1 is returned.
The collection does not have to implement this interface directly.
If the collection has been decorated using the decorators subpackage
then these will be removed to access the BoundedCollection.
coll
- the collection to check
NullPointerException
- if the collection is nullpublic static <E> Collection<E> synchronizedCollection(Collection<E> collection)
Collection c = CollectionUtils.synchronizedCollection(myCollection); synchronized (c) { Iterator i = c.iterator(); while (i.hasNext()) { process (i.next()); } }This method uses the implementation in the decorators subpackage.
collection
- the collection to synchronize, must not be null
IllegalArgumentException
- if the collection is nullpublic static <E> Collection<E> unmodifiableCollection(Collection<E> collection)
collection
- the collection to make unmodifiable, must not be null
IllegalArgumentException
- if the collection is nullpublic static <E> Collection<E> predicatedCollection(Collection<E> collection, Predicate<E> predicate)
collection
- the collection to predicate, must not be nullpredicate
- the predicate for the collection, must not be null
IllegalArgumentException
- if the Collection is nullpublic static <E> Collection<E> typedCollection(Collection<E> collection, Class<E> type)
collection
- the collection to limit to a specific type, must not be nulltype
- the type of objects which may be added to the collection
public static <I,O> Collection<O> transformedCollection(Collection<I> collection, Transformer<I,O> transformer)
collection
- the collection to predicate, must not be nulltransformer
- the transformer for the collection, must not be null
IllegalArgumentException
- if the Collection or Transformer is null
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |