org.apache.commons.collections

Class CollectionUtils


public class CollectionUtils
extends Object

Provides utility methods and decorators for Collection instances.
Since:
Commons Collections 1.0

Field Summary

static Collection<E>
EMPTY_COLLECTION
An empty unmodifiable collection.

Constructor Summary

CollectionUtils()
CollectionUtils should not normally be instantiated.

Method Summary

static void
addAll(Collection<E> collection, Object[] elements)
Adds all elements in the array to the given collection.
static void
addAll(Collection<E> collection, Enumeration<E> enumeration)
Adds all elements in the enumeration to the given collection.
static void
addAll(Collection<E> collection, Iterator<E> iterator)
Adds all elements in the iteration to the given collection.
static boolean
addIgnoreNull(Collection<E> collection, Object object)
Adds an element to the collection unless the element is null.
static int
cardinality(Object obj, Collection<E> coll)
Returns the number of occurrences of obj in coll.
static Collection<E>
collect(Collection<E> inputCollection, Transformer transformer)
Returns a new Collection consisting of the elements of inputCollection transformed by the given transformer.
static Collection<E>
collect(Collection<E> inputCollection, Transformer transformer, Collection<E> outputCollection)
Transforms all elements from inputCollection with the given transformer and adds them to the outputCollection.
static Collection<E>
collect(Iterator<E> inputIterator, Transformer transformer)
Transforms all elements from the inputIterator with the given transformer and adds them to the outputCollection.
static Collection<E>
collect(Iterator<E> inputIterator, Transformer transformer, Collection<E> outputCollection)
Transforms all elements from the inputIterator with the given transformer and adds them to the outputCollection.
static boolean
containsAny(Collection<E> coll1, Collection<E> coll2)
Returns true iff at least one element is in both collections.
static int
countMatches(Collection<E> inputCollection, Predicate predicate)
Counts the number of elements in the input collection that match the predicate.
static Collection<E>
disjunction(Collection<E> a, Collection<E> b)
Returns a Collection containing the exclusive disjunction (symmetric difference) of the given Collections.
static boolean
exists(Collection<E> collection, Predicate predicate)
Answers true if a predicate is true for at least one element of a collection.
static void
filter(Collection<E> collection, Predicate predicate)
Filter the collection by applying a Predicate to each element.
static Object
find(Collection<E> collection, Predicate predicate)
Finds the first element in the given collection which matches the given predicate.
static void
forAllDo(Collection<E> collection, Closure 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 Map<K,V>
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.
static Object
index(Object obj, Object index)
Deprecated. use get(Object,int) instead.
static Collection<E>
intersection(Collection<E> a, Collection<E> b)
Returns a Collection containing the intersection of the given Collections.
static boolean
isEmpty(Collection<E> coll)
Null-safe check if the specified collection is empty.
static boolean
isEqualCollection(Collection<E> a, Collection<E> b)
Returns true iff the given Collections contain exactly the same elements with exactly the same cardinalities.
static boolean
isFull(Collection<E> coll)
Returns true if no more elements can be added to the Collection.
static boolean
isNotEmpty(Collection<E> coll)
Null-safe check if the specified collection is not empty.
static boolean
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 boolean
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<E> coll)
Get the maximum number of elements that the Collection can contain.
static Collection<E>
predicatedCollection(Collection<E> collection, Predicate predicate)
Returns a predicated (validating) collection backed by the given collection.
static Collection<E>
removeAll(Collection<E> collection, Collection<E> remove)
Removes the elements in remove from collection.
static Collection<E>
retainAll(Collection<E> collection, Collection<E> retain)
Returns a collection containing all the elements in collection that are also in retain.
static void
reverseArray(Object[] array)
Reverses the order of the given array.
static Collection<E>
select(Collection<E> inputCollection, Predicate predicate)
Selects all elements from input collection which match the given predicate into an output collection.
static void
select(Collection<E> inputCollection, Predicate predicate, Collection<E> outputCollection)
Selects all elements from input collection which match the given predicate and adds them to outputCollection.
static Collection<E>
selectRejected(Collection<E> inputCollection, Predicate predicate)
Selects all elements from inputCollection which don't match the given predicate into an output collection.
static void
selectRejected(Collection<E> inputCollection, Predicate 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 boolean
sizeIsEmpty(Object object)
Checks if the specified collection/array/iterator is empty.
static Collection<E>
subtract(Collection<E> a, Collection<E> b)
Returns a new Collection containing a - b.
static Collection<E>
synchronizedCollection(Collection<E> collection)
Returns a synchronized collection backed by the given collection.
static void
transform(Collection<E> collection, Transformer transformer)
Transform the collection by applying a Transformer to each element.
static Collection<E>
transformedCollection(Collection<E> collection, Transformer transformer)
Returns a transformed bag backed by the given collection.
static Collection<E>
typedCollection(Collection<E> collection, Class<T> type)
Returns a typed collection backed by the given collection.
static Collection<E>
union(Collection<E> a, Collection<E> b)
Returns a Collection containing the union of the given Collections.
static Collection<E>
unmodifiableCollection(Collection<E> collection)
Returns an unmodifiable collection backed by the given collection.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

EMPTY_COLLECTION

public static final Collection<E> EMPTY_COLLECTION
An empty unmodifiable collection. The JDK provides empty Set and List implementations which could be used for this purpose. However they could be cast to Set or List which might be undesirable. This implementation only implements Collection.

Constructor Details

CollectionUtils

public CollectionUtils()
CollectionUtils should not normally be instantiated.

Method Details

addAll

public static void addAll(Collection<E> collection,
                          Object[] elements)
Adds all elements in the array to the given collection.
Parameters:
collection - the collection to add to, must not be null
elements - the array of elements to add, must not be null
Throws:
NullPointerException - if the collection or array is null
Usages and Demos :

View More Examples of addAll(Collection collection,Object[] elements)
   1: import com.ejdoab.tcms.services.dto.ConferenceAbstractDTO;
   2: import org.apache.commons.collections.CollectionUtils;
   3: 
   4:         ...
   5:         _abstracts = new ArrayList();
   6:         CollectionUtils.addAll(_abstracts, abstracts);
   7:     }
   8:     
   9:     public Object[] getElements() {

View Full Code Here
   1: 
   2: import org.apache.commons.collections.CollectionUtils;
   3: 
   4:         ...
   5:         _newsItems = new ArrayList(newsItems.length);
   6:         CollectionUtils.addAll(_newsItems, newsItems);
   7:         createModel();    
   8:     }
   9:     

View Full Code Here
   1: 
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.commons.lang.ArrayUtils;
   4:         ...
   5:         ArrayList<TreeNode> children = new ArrayList<TreeNode>();
   6:         CollectionUtils.addAll(children, node.getChildren());
   7:         for (TreeNode child : children) {
   8:             TreeNode newChild = rewriteTree(child, rewriter);
   9:             if (newChild == null)

View Full Code Here
   1: 
   2: import org.apache.commons.collections.CollectionUtils;
   3: 
   4:         ...
   5:         if (this instanceof Group) 
   6:             CollectionUtils.addAll(filters, ((Group)this).getFilters().iterator());
   7:         if (this.getParent() != null)
   8:             filters.addAll(this.getParent().getInScopeFilterSet());
   9:         

View Full Code Here
   1: 
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.oro.text.perl.Perl5Util;
   4:         ...
   5:             final String match = p5u.group(1);
   6:             CollectionUtils.addAll(attributes, StringUtils.split(match));
   7:         }
   8:         return StringUtils.join(attributes.iterator(), " ");
   9:     }

View Full Code Here

addAll

public static void addAll(Collection<E> collection,
                          Enumeration<E> enumeration)
Adds all elements in the enumeration to the given collection.
Parameters:
collection - the collection to add to, must not be null
enumeration - the enumeration of elements to add, must not be null
Throws:
NullPointerException - if the collection or enumeration is null
Usages and Demos :

View More Examples of addAll(Collection collection,Enumeration enumeration)
   1: import com.ejdoab.tcms.services.dto.ConferenceAbstractDTO;
   2: import org.apache.commons.collections.CollectionUtils;
   3: 
   4:         ...
   5:         _abstracts = new ArrayList();
   6:         CollectionUtils.addAll(_abstracts, abstracts);
   7:     }
   8:     
   9:     public Object[] getElements() {

View Full Code Here
   1: 
   2: import org.apache.commons.collections.CollectionUtils;
   3: 
   4:         ...
   5:         _newsItems = new ArrayList(newsItems.length);
   6:         CollectionUtils.addAll(_newsItems, newsItems);
   7:         createModel();    
   8:     }
   9:     

View Full Code Here
   1: 
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.commons.lang.ArrayUtils;
   4:         ...
   5:         ArrayList<TreeNode> children = new ArrayList<TreeNode>();
   6:         CollectionUtils.addAll(children, node.getChildren());
   7:         for (TreeNode child : children) {
   8:             TreeNode newChild = rewriteTree(child, rewriter);
   9:             if (newChild == null)

View Full Code Here
   1: 
   2: import org.apache.commons.collections.CollectionUtils;
   3: 
   4:         ...
   5:         if (this instanceof Group) 
   6:             CollectionUtils.addAll(filters, ((Group)this).getFilters().iterator());
   7:         if (this.getParent() != null)
   8:             filters.addAll(this.getParent().getInScopeFilterSet());
   9:         

View Full Code Here
   1: 
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.oro.text.perl.Perl5Util;
   4:         ...
   5:             final String match = p5u.group(1);
   6:             CollectionUtils.addAll(attributes, StringUtils.split(match));
   7:         }
   8:         return StringUtils.join(attributes.iterator(), " ");
   9:     }

View Full Code Here

addAll

public static void addAll(Collection<E> collection,
                          Iterator<E> iterator)
Adds all elements in the iteration to the given collection.
Parameters:
collection - the collection to add to, must not be null
iterator - the iterator of elements to add, must not be null
Throws:
NullPointerException - if the collection or iterator is null
Usages and Demos :

View More Examples of addAll(Collection collection,Iterator iterator)
   1: import com.ejdoab.tcms.services.dto.ConferenceAbstractDTO;
   2: import org.apache.commons.collections.CollectionUtils;
   3: 
   4:         ...
   5:         _abstracts = new ArrayList();
   6:         CollectionUtils.addAll(_abstracts, abstracts);
   7:     }
   8:     
   9:     public Object[] getElements() {

View Full Code Here
   1: 
   2: import org.apache.commons.collections.CollectionUtils;
   3: 
   4:         ...
   5:         _newsItems = new ArrayList(newsItems.length);
   6:         CollectionUtils.addAll(_newsItems, newsItems);
   7:         createModel();    
   8:     }
   9:     

View Full Code Here
   1: 
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.commons.lang.ArrayUtils;
   4:         ...
   5:         ArrayList<TreeNode> children = new ArrayList<TreeNode>();
   6:         CollectionUtils.addAll(children, node.getChildren());
   7:         for (TreeNode child : children) {
   8:             TreeNode newChild = rewriteTree(child, rewriter);
   9:             if (newChild == null)

View Full Code Here
   1: 
   2: import org.apache.commons.collections.CollectionUtils;
   3: 
   4:         ...
   5:         if (this instanceof Group) 
   6:             CollectionUtils.addAll(filters, ((Group)this).getFilters().iterator());
   7:         if (this.getParent() != null)
   8:             filters.addAll(this.getParent().getInScopeFilterSet());
   9:         

View Full Code Here
   1: 
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.oro.text.perl.Perl5Util;
   4:         ...
   5:             final String match = p5u.group(1);
   6:             CollectionUtils.addAll(attributes, StringUtils.split(match));
   7:         }
   8:         return StringUtils.join(attributes.iterator(), " ");
   9:     }

View Full Code Here

addIgnoreNull

public static boolean addIgnoreNull(Collection<E> collection,
                                    Object object)
Adds an element to the collection unless the element is null.
Parameters:
collection - the collection to add to, must not be null
object - the object to add, if null it will not be added
Returns:
true if the collection changed
Throws:
NullPointerException - if the collection is null
Since:
Commons Collections 3.2

cardinality

public static int cardinality(Object obj,
                              Collection<E> coll)
Returns the number of occurrences of obj in coll.
Parameters:
obj - the object to find the cardinality of
coll - the collection to search
Returns:
the the number of occurrences of obj in coll

collect

public static Collection<E> collect(Collection<E> inputCollection,
                                 Transformer transformer)
Returns a new Collection consisting of the elements of inputCollection transformed by the given transformer.

If the input transformer is null, the result is an empty list.

Parameters:
inputCollection - the collection to get the input from, may not be null
transformer - the transformer to use, may be null
Returns:
the transformed result (new list)
Throws:
NullPointerException - if the input collection is null
Usages and Demos :

View More Examples of collect(Collection inputCollection,Transformer transformer)
   1: import org.apache.commons.collections.Bag;
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.commons.collections.Predicate;
   4:         ...
   5:     {
   6:         return collection == null ? 0 : CollectionUtils.cardinality(item, collection);
   7:     }
   8:         ...
   9:     {
  10:         return CollectionUtils.intersection(first, second);
  11:     }
  12:         ...
  13:     {
  14:         return CollectionUtils.collect(collection, transformer);

View Full Code Here

collect

public static Collection<E> collect(Collection<E> inputCollection,
                                 Transformer transformer,
                                 Collection<E> outputCollection)
Transforms all elements from inputCollection with the given transformer and adds them to the outputCollection.

If the input collection or transformer is null, there is no change to the output collection.

Parameters:
inputCollection - the collection to get the input from, may be null
transformer - the transformer to use, may be null
outputCollection - the collection to output into, may not be null
Returns:
the outputCollection with the transformed input added
Throws:
NullPointerException - if the output collection is null

collect

public static Collection<E> collect(Iterator<E> inputIterator,
                                 Transformer transformer)
Transforms all elements from the inputIterator with the given transformer and adds them to the outputCollection.

If the input iterator or transformer is null, the result is an empty list.

Parameters:
inputIterator - the iterator to get the input from, may be null
transformer - the transformer to use, may be null
Returns:
the transformed result (new list)
Usages and Demos :

View More Examples of collect(Iterator inputIterator,Transformer transformer)
   1: import org.apache.commons.collections.Bag;
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.commons.collections.Predicate;
   4:         ...
   5:     {
   6:         return collection == null ? 0 : CollectionUtils.cardinality(item, collection);
   7:     }
   8:         ...
   9:     {
  10:         return CollectionUtils.intersection(first, second);
  11:     }
  12:         ...
  13:     {
  14:         return CollectionUtils.collect(collection, transformer);

View Full Code Here

collect

public static Collection<E> collect(Iterator<E> inputIterator,
                                 Transformer transformer,
                                 Collection<E> outputCollection)
Transforms all elements from the inputIterator with the given transformer and adds them to the outputCollection.

If the input iterator or transformer is null, there is no change to the output collection.

Parameters:
inputIterator - the iterator to get the input from, may be null
transformer - the transformer to use, may be null
outputCollection - the collection to output into, may not be null
Returns:
the outputCollection with the transformed input added
Throws:
NullPointerException - if the output collection is null

containsAny

public static boolean containsAny(Collection<E> coll1,
                                  Collection<E> coll2)
Returns true iff at least one element is in both collections.

In other words, this method returns true iff the intersection(Collection,Collection) of coll1 and coll2 is not empty.

Parameters:
coll1 - the first collection, must not be null
coll2 - the first collection, must not be null
Returns:
true iff the intersection of the collections is non-empty
Since:
2.1

countMatches

public static int countMatches(Collection<E> inputCollection,
                               Predicate predicate)
Counts the number of elements in the input collection that match the predicate.

A null collection or predicate matches no elements.

Parameters:
inputCollection - the collection to get the input from, may be null
predicate - the predicate to use, may be null
Returns:
the number of matches for the predicate in the collection

disjunction

public static Collection<E> disjunction(Collection<E> a,
                                     Collection<E> b)
Returns a Collection containing the exclusive disjunction (symmetric difference) of the given Collections.

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)).

Parameters:
a - the first collection, must not be null
b - the second collection, must not be null
Returns:
the symmetric difference of the two collections
Usages and Demos :

View More Examples of disjunction(Collection a,Collection b)
   1: import org.apache.commons.collections.Bag;
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.commons.collections.Predicate;
   4:         ...
   5:     {
   6:         return collection == null ? 0 : CollectionUtils.cardinality(item, collection);
   7:     }
   8:         ...
   9:     {
  10:         return CollectionUtils.intersection(first, second);
  11:     }
  12:         ...
  13:     {
  14:         return CollectionUtils.disjunction(first, second);

View Full Code Here

exists

public static boolean exists(Collection<E> collection,
                             Predicate predicate)
Answers true if a predicate is true for at least one element of a collection.

A null collection or predicate returns false.

Parameters:
collection - the collection to get the input from, may be null
predicate - the predicate to use, may be null
Returns:
true if at least one element of the collection matches the predicate
Usages and Demos :

View More Examples of exists(Collection collection,Predicate predicate)
   1: import org.apache.commons.collections.Bag;
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.commons.collections.Predicate;
   4:         ...
   5:     {
   6:         return collection == null ? 0 : CollectionUtils.cardinality(item, collection);
   7:     }
   8:         ...
   9:     {
  10:         return CollectionUtils.intersection(first, second);
  11:     }
  12:         ...
  13:     {
  14:         return CollectionUtils.exists(collection, predicate);

View Full Code Here

filter

public static void filter(Collection<E> collection,
                          Predicate predicate)
Filter the collection by applying a Predicate to each element. If the predicate returns false, remove the element.

If the input collection or predicate is null, there is no change made.

Parameters:
collection - the collection to get the input from, may be null
predicate - the predicate to use as a filter, may be null

find

public static Object find(Collection<E> collection,
                          Predicate predicate)
Finds the first element in the given collection which matches the given predicate.

If the input collection or predicate is null, or no element of the collection matches the predicate, null is returned.

Parameters:
collection - the collection to search, may be null
predicate - the predicate to use, may be null
Returns:
the first element of the collection which matches the predicate or null if none could be found
Usages and Demos :

View More Examples of find(Collection collection,Predicate predicate)
   1: 
   2:         return (CollectionUtils.find(collection, predicate) != null);
   3:     }
   4: 
   5:     public static boolean stringCollectionContainsIgnoreCase(

View Full Code Here

forAllDo

public static void forAllDo(Collection<E> collection,
                            Closure closure)
Executes the given closure on each element in the collection.

If the input collection or closure is null, there is no change made.

Parameters:
collection - the collection to get the input from, may be null
closure - the closure to perform, may be null

get

public 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.

The supported types, and associated semantics are:

  • Map -- the value returned is the Map.Entry in position index in the map's entrySet iterator, if there is such an entry.
  • List -- this method is equivalent to the list's get method.
  • Array -- the index-th array entry is returned, if there is such an entry; otherwise an IndexOutOfBoundsException is thrown.
  • Collection -- the value returned is the index-th object returned by the collection's default iterator, if there is such an element.
  • Iterator or Enumeration -- the value returned is the 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.
Parameters:
object - the object to get a value from
index - the index to get
Returns:
the object at the specified index
Throws:
IndexOutOfBoundsException - if the index is invalid
IllegalArgumentException - if the object type is invalid

getCardinalityMap

public static Map<K,V> 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.

Only those elements present in the collection will appear as keys in the map.

Parameters:
coll - the collection to get the cardinality map for, must not be null
Returns:
the populated cardinality map

index

public static Object index(Object obj,
                           int idx)

Deprecated. use get(Object,int) instead. Will be removed in v4.0

Given an Object, and an index, returns the nth value in the object.
  • If obj is a Map, returns the nth value from the keySet iterator, unless the Map contains an Integer key with integer value = idx, in which case the corresponding map entry value is returned. If idx exceeds the number of entries in the map, an empty Iterator is returned.
  • If obj is a List or an array, returns the nth value, throwing IndexOutOfBoundsException, ArrayIndexOutOfBoundsException, resp. if the nth value does not exist.
  • If obj is an iterator, enumeration or Collection, returns the nth value from the iterator, returning an empty Iterator (resp. Enumeration) if the nth value does not exist.
  • Returns the original obj if it is null or not a Collection or Iterator.
Parameters:
obj - the object to get an index of, may be null
idx - the index to get

index

public static Object index(Object obj,
                           Object index)

Deprecated. use get(Object,int) instead. Will be removed in v4.0

Given an Object, and a key (index), returns the value associated with that key in the Object. The following checks are made:
  • If obj is a Map, use the index as a key to get a value. If no match continue.
  • Check key is an Integer. If not, return the object passed in.
  • If obj is a Map, get the nth value from the keySet iterator. If the Map has fewer than n entries, return an empty Iterator.
  • If obj is a List or an array, get the nth value, throwing IndexOutOfBoundsException, ArrayIndexOutOfBoundsException, resp. if the nth value does not exist.
  • If obj is an iterator, enumeration or Collection, get the nth value from the iterator, returning an empty Iterator (resp. Enumeration) if the nth value does not exist.
  • Return the original obj.
Parameters:
obj - the object to get an index of
index - the index to get
Returns:
the object at the specified index

intersection

public static Collection<E> intersection(Collection<E> a,
                                      Collection<E> b)
Returns a Collection containing the intersection of the given Collections.

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 Collections.

Parameters:
a - the first collection, must not be null
b - the second collection, must not be null
Returns:
the intersection of the two collections
Usages and Demos :

View More Examples of intersection(Collection a,Collection b)
   1: import org.apache.commons.collections.Bag;
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.commons.collections.Predicate;
   4:         ...
   5:     {
   6:         return collection == null ? 0 : CollectionUtils.cardinality(item, collection);
   7:     }
   8:         ...
   9:     {
  10:         return CollectionUtils.intersection(first, second);
  11:     }
  12:         ...
  13:     {
  14:         return CollectionUtils.union(first, second);

View Full Code Here

isEmpty

public static boolean isEmpty(Collection<E> coll)
Null-safe check if the specified collection is empty.

Null returns true.

Parameters:
coll - the collection to check, may be null
Returns:
true if empty or null
Since:
Commons Collections 3.2

isEqualCollection

public static boolean isEqualCollection(Collection<E> a,
                                        Collection<E> b)
Returns true iff the given Collections 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.

Parameters:
a - the first collection, must not be null
b - the second collection, must not be null
Returns:
true iff the collections contain the same elements with the same cardinalities.
Usages and Demos :

View More Examples of isEqualCollection(Collection a,Collection b)
   1: import org.andromda.translation.ocl.syntax.VariableDeclaration;
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.commons.collections.Predicate;
   4:         ...
   5:                 Collection operations = type.getOperations();
   6:                 this.contextElement = CollectionUtils.find(operations, new OperationFinder());
   7:                 if (this.contextElement == null)
   8:         ...
   9:         }
  10:         return CollectionUtils.isEqualCollection(expressionArgNames, facadeArgNames);
  11:     }
  12:         ...
  13:         Collection modelElements = this.model.getModelElements();
  14:         CollectionUtils.filter(modelElements, new Predicate()

View Full Code Here

isFull

public static boolean isFull(Collection<E> coll)
Returns true if no more elements can be added to the Collection.

This method uses the 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.

Parameters:
coll - the collection to check
Returns:
true if the BoundedCollection is full
Throws:
NullPointerException - if the collection is null

isNotEmpty

public static boolean isNotEmpty(Collection<E> coll)
Null-safe check if the specified collection is not empty.

Null returns false.

Parameters:
coll - the collection to check, may be null
Returns:
true if non-null and non-empty
Since:
Commons Collections 3.2

isProperSubCollection

public static boolean 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.

The implementation assumes

  • a.size() and b.size() represent the total cardinality of a and b, resp.
  • a.size() <32Integer.MAXVALUE
Parameters:
a - the first (sub?) collection, must not be null
b - the second (super?) collection, must not be null
Returns:
true iff a is a proper sub-collection of b

isSubCollection

public static boolean 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.
Parameters:
a - the first (sub?) collection, must not be null
b - the second (super?) collection, must not be null
Returns:
true iff a is a sub-collection of b

maxSize

public static int maxSize(Collection<E> coll)
Get the maximum number of elements that the Collection can contain.

This method uses the 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.

Parameters:
coll - the collection to check
Returns:
the maximum size of the BoundedCollection, -1 if no maximum size
Throws:
NullPointerException - if the collection is null

predicatedCollection

public static Collection<E> predicatedCollection(Collection<E> collection,
                                              Predicate predicate)
Returns a predicated (validating) collection backed by the given collection.

Only objects that pass the test in the given predicate can be added to the collection. Trying to add an invalid object results in an IllegalArgumentException. It is important not to use the original collection after invoking this method, as it is a backdoor for adding invalid objects.

Parameters:
collection - the collection to predicate, must not be null
predicate - the predicate for the collection, must not be null
Returns:
a predicated collection backed by the given collection
Throws:
IllegalArgumentException - if the Collection is null

removeAll

public static Collection<E> removeAll(Collection<E> collection,
                                   Collection<E> remove)
Removes the elements in remove from collection. That is, this method returns a collection containing all the elements in c that are not in remove. The cardinality of an element e in the returned collection is the same as the cardinality of e in collection unless remove contains e, in which case the cardinality is zero. This method is useful if you do not wish to modify the collection c and thus cannot call collection.removeAll(remove);.
Parameters:
collection - the collection from which items are removed (in the returned collection)
remove - the items to be removed from the returned collection
Returns:
a Collection containing all the elements of collection except any elements that also occur in remove.
Throws:
NullPointerException - if either parameter is null
Since:
Commons Collections 3.2

retainAll

public static Collection<E> retainAll(Collection<E> collection,
                                   Collection<E> retain)
Returns a collection containing all the elements in collection that are also in retain. The cardinality of an element e in the returned collection is the same as the cardinality of e in collection unless retain does not contain e, in which case the cardinality is zero. This method is useful if you do not wish to modify the collection c and thus cannot call c.retainAll(retain);.
Parameters:
collection - the collection whose contents are the target of the #retailAll operation
retain - the collection containing the elements to be retained in the returned collection
Returns:
a Collection containing all the elements of collection that occur at least once in retain.
Throws:
NullPointerException - if either parameter is null
Since:
Commons Collections 3.2

reverseArray

public static void reverseArray(Object[] array)
Reverses the order of the given array.
Parameters:
array - the array to reverse
Usages and Demos :

View More Examples of reverseArray(Object[] array)
   1: 
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.commons.lang.StringUtils;
   4:         ...
   5:         {
   6:             CollectionUtils.reverseArray(interfaces);
   7:         }
   8:         return interfaces;
   9:     }

View Full Code Here

select

public static Collection<E> select(Collection<E> inputCollection,
                                Predicate predicate)
Selects all elements from input collection which match the given predicate into an output collection.

A null predicate matches no elements.

Parameters:
inputCollection - the collection to get the input from, may not be null
predicate - the predicate to use, may be null
Returns:
the elements matching the predicate (new list)
Throws:
NullPointerException - if the input collection is null
Usages and Demos :

View More Examples of select(Collection inputCollection,Predicate predicate)
   1: import org.apache.commons.collections.Bag;
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.commons.collections.Predicate;
   4:         ...
   5:     {
   6:         return collection == null ? 0 : CollectionUtils.cardinality(item, collection);
   7:     }
   8:         ...
   9:     {
  10:         return CollectionUtils.intersection(first, second);
  11:     }
  12:         ...
  13:     {
  14:         return CollectionUtils.select(collection, predicate);

View Full Code Here

select

public static void select(Collection<E> inputCollection,
                          Predicate predicate,
                          Collection<E> outputCollection)
Selects all elements from input collection which match the given predicate and adds them to outputCollection.

If the input collection or predicate is null, there is no change to the output collection.

Parameters:
inputCollection - the collection to get the input from, may be null
predicate - the predicate to use, may be null
outputCollection - the collection to output into, may not be null

selectRejected

public static Collection<E> selectRejected(Collection<E> inputCollection,
                                        Predicate predicate)
Selects all elements from inputCollection which don't match the given predicate into an output collection.

If the input predicate is null, the result is an empty list.

Parameters:
inputCollection - the collection to get the input from, may not be null
predicate - the predicate to use, may be null
Returns:
the elements not matching the predicate (new list)
Throws:
NullPointerException - if the input collection is null
Usages and Demos :

View More Examples of selectRejected(Collection inputCollection,Predicate predicate)
   1: import org.apache.commons.collections.Bag;
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.commons.collections.Predicate;
   4:         ...
   5:     {
   6:         return collection == null ? 0 : CollectionUtils.cardinality(item, collection);
   7:     }
   8:         ...
   9:     {
  10:         return CollectionUtils.intersection(first, second);
  11:     }
  12:         ...
  13:     {
  14:         return CollectionUtils.selectRejected(collection, predicate);

View Full Code Here

selectRejected

public static void selectRejected(Collection<E> inputCollection,
                                  Predicate predicate,
                                  Collection<E> outputCollection)
Selects all elements from inputCollection which don't match the given predicate and adds them to outputCollection.

If the input predicate is null, no elements are added to outputCollection.

Parameters:
inputCollection - the collection to get the input from, may be null
predicate - the predicate to use, may be null
outputCollection - the collection to output into, may not be null

size

public static int size(Object object)
Gets the size of the collection/iterator specified.

This method can handles objects as follows

  • Collection - the collection size
  • Map - the map size
  • Array - the array size
  • Iterator - the number of elements remaining in the iterator
  • Enumeration - the number of elements remaining in the enumeration
Parameters:
object - the object to get the size of
Returns:
the size of the specified collection
Throws:
IllegalArgumentException - thrown if object is not recognised or null
Since:
Commons Collections 3.1

sizeIsEmpty

public static boolean sizeIsEmpty(Object object)
Checks if the specified collection/array/iterator is empty.

This method can handles objects as follows

  • Collection - via collection isEmpty
  • Map - via map isEmpty
  • Array - using array size
  • Iterator - via hasNext
  • Enumeration - via hasMoreElements

Note: This method is named to avoid clashing with isEmpty(Collection).

Parameters:
object - the object to get the size of, not null
Returns:
true if empty
Throws:
IllegalArgumentException - thrown if object is not recognised or null
Since:
Commons Collections 3.2

subtract

public static Collection<E> subtract(Collection<E> a,
                                  Collection<E> b)
Returns a new 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.
Parameters:
a - the collection to subtract from, must not be null
b - the collection to subtract, must not be null
Returns:
a new collection with the results

synchronizedCollection

public static Collection<E> synchronizedCollection(Collection<E> collection)
Returns a synchronized collection backed by the given collection.

You must manually synchronize on the returned buffer's iterator to avoid non-deterministic behavior:

 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.
Parameters:
collection - the collection to synchronize, must not be null
Returns:
a synchronized collection backed by the given collection
Throws:
IllegalArgumentException - if the collection is null

transform

public static void transform(Collection<E> collection,
                             Transformer transformer)
Transform the collection by applying a Transformer to each element.

If the input collection or transformer is null, there is no change made.

This routine is best for Lists, for which set() is used to do the transformations "in place." For other Collections, clear() and addAll() are used to replace elements.

If the input collection controls its input, such as a Set, and the Transformer creates duplicates (or are otherwise invalid), the collection may reduce in size due to calling this method.

Parameters:
collection - the collection to get the input from, may be null
transformer - the transformer to perform, may be null
Usages and Demos :

View More Examples of transform(Collection collection,Transformer transformer)
   1:         {
   2:             org.apache.commons.collections.CollectionUtils.transform(entities, CHILDENTITYVO_TRANSFORMER);
   3:         }
   4:         ...
   5:             }
   6:             org.apache.commons.collections.CollectionUtils.transform(instances, ChildEntityVOToEntityTransformer);
   7:         }
   8:     }

View Full Code Here
   1:         {
   2:             org.apache.commons.collections.CollectionUtils.transform(entities, ATTRIBUTETWO_TRANSFORMER);
   3:         }
   4:         ...
   5:             }
   6:             org.apache.commons.collections.CollectionUtils.transform(instances, AttributeTwoToEntityTransformer);
   7:         }
   8:     }

View Full Code Here
   1:         {
   2:             org.apache.commons.collections.CollectionUtils.transform(entities, SUPERENTITYVO2_TRANSFORMER);
   3:         }
   4:         ...
   5:             }
   6:             org.apache.commons.collections.CollectionUtils.transform(instances, SuperEntityVO2ToEntityTransformer);
   7:         }
   8:         ...
   9:         {
  10:             org.apache.commons.collections.CollectionUtils.transform(entities, SUPERENTITYVO1_TRANSFORMER);
  11:         }
  12:         ...
  13:             }
  14:             org.apache.commons.collections.CollectionUtils.transform(instances, SuperEntityVO1ToEntityTransformer);

View Full Code Here
   1:         {
   2:             org.apache.commons.collections.CollectionUtils.transform(entities, VALUEOBJECT_TRANSFORMER);
   3:         }
   4:         ...
   5:             }
   6:             org.apache.commons.collections.CollectionUtils.transform(instances, ValueObjectToEntityTransformer);
   7:         }
   8:     }

View Full Code Here
   1:         {
   2:             org.apache.commons.collections.CollectionUtils.transform(entities, SUBENTITYVO2_TRANSFORMER);
   3:         }
   4:         ...
   5:             }
   6:             org.apache.commons.collections.CollectionUtils.transform(instances, SubEntityVO2ToEntityTransformer);
   7:         }
   8:         ...
   9:         {
  10:             org.apache.commons.collections.CollectionUtils.transform(entities, SUBENTITYVO1_TRANSFORMER);
  11:         }
  12:         ...
  13:             }
  14:             org.apache.commons.collections.CollectionUtils.transform(instances, SubEntityVO1ToEntityTransformer);

View Full Code Here

transformedCollection

public static Collection<E> transformedCollection(Collection<E> collection,
                                               Transformer transformer)
Returns a transformed bag backed by the given collection.

Each object is passed through the transformer as it is added to the Collection. It is important not to use the original collection after invoking this method, as it is a backdoor for adding untransformed objects.

Parameters:
collection - the collection to predicate, must not be null
transformer - the transformer for the collection, must not be null
Returns:
a transformed collection backed by the given collection
Throws:
IllegalArgumentException - if the Collection or Transformer is null

typedCollection

public static Collection<E> typedCollection(Collection<E> collection,
                                         Class<T> type)
Returns a typed collection backed by the given collection.

Only objects of the specified type can be added to the collection.

Parameters:
collection - the collection to limit to a specific type, must not be null
type - the type of objects which may be added to the collection
Returns:
a typed collection backed by the specified collection

union

public static Collection<E> union(Collection<E> a,
                               Collection<E> b)
Returns a Collection containing the union of the given Collections.

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 Collections.

Parameters:
a - the first collection, must not be null
b - the second collection, must not be null
Returns:
the union of the two collections
Usages and Demos :

View More Examples of union(Collection a,Collection b)
   1: import org.apache.commons.collections.Bag;
   2: import org.apache.commons.collections.CollectionUtils;
   3: import org.apache.commons.collections.Predicate;
   4:         ...
   5:     {
   6:         return collection == null ? 0 : CollectionUtils.cardinality(item, collection);
   7:     }
   8:         ...
   9:     {
  10:         return CollectionUtils.intersection(first, second);
  11:     }
  12:         ...
  13:     {
  14:         return CollectionUtils.union(first, second);

View Full Code Here

unmodifiableCollection

public static Collection<E> unmodifiableCollection(Collection<E> collection)
Returns an unmodifiable collection backed by the given collection.

This method uses the implementation in the decorators subpackage.

Parameters:
collection - the collection to make unmodifiable, must not be null
Returns:
an unmodifiable collection backed by the given collection
Throws:
IllegalArgumentException - if the collection is null