Class CollectionBag<E>
- Type Parameters:
- E- the type of elements in this bag
- All Implemented Interfaces:
- Serializable,- Iterable<E>,- Collection<E>,- Bag<E>
Bag to comply with the Collection contract.
 
 By decorating an existing Bag instance with a CollectionBag,
 it can be safely passed on to methods that require Collection types that
 are fully compliant with the Collection contract.
 
The method Javadoc highlights the differences compared to the original Bag interface.
- Since:
- 4.0
- See Also:
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionboolean(Change) Adds one copy of the specified object to the Bag.boolean(Change) Addscountcopies of the specified object to the Bag.booleanaddAll(Collection<? extends E> coll) static <E> Bag<E> collectionBag(Bag<E> bag) Factory method to create a bag that complies to the Collection contract.booleancontainsAll(Collection<?> coll) (Change) Returnstrueif the bag contains all elements in the given collection, not respecting cardinality.boolean(Change) Removes the first occurrence of the given object from the bag.booleanremoveAll(Collection<?> coll) (Change) Remove all elements represented in the given collection, not respecting cardinality.booleanretainAll(Collection<?> coll) (Change) Remove any members of the bag that are not in the given collection, not respecting cardinality.Methods inherited from class org.apache.commons.collections4.bag.AbstractBagDecoratordecorated, equals, getCount, hashCode, remove, uniqueSetMethods inherited from class org.apache.commons.collections4.collection.AbstractCollectionDecoratorclear, contains, isEmpty, iterator, removeIf, setCollection, size, toArray, toArray, toStringMethods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collectionclear, contains, isEmpty, parallelStream, removeIf, spliterator, stream, toArray, toArray
- 
Constructor Details- 
CollectionBagConstructor that wraps (not copies).- Parameters:
- bag- the bag to decorate, must not be null
- Throws:
- NullPointerException- if bag is null
 
 
- 
- 
Method Details- 
collectionBagFactory method to create a bag that complies to the Collection contract.- Type Parameters:
- E- the type of the elements in the bag
- Parameters:
- bag- the bag to decorate, must not be null
- Returns:
- a Bag that complies to the Collection contract
- Throws:
- NullPointerException- if bag is null
 
- 
add(Change) Adds one copy of the specified object to the Bag.Since this method always increases the size of the bag, it will always return true.- Specified by:
- addin interface- Bag<E>
- Specified by:
- addin interface- Collection<E>
- Overrides:
- addin class- AbstractCollectionDecorator<E>
- Parameters:
- object- the object to add
- Returns:
- true, always
- Throws:
- ClassCastException- if the class of the specified element prevents it from being added to this collection
 
- 
add(Change) Addscountcopies of the specified object to the Bag.Since this method always increases the size of the bag, it will always return true.- Specified by:
- addin interface- Bag<E>
- Overrides:
- addin class- AbstractBagDecorator<E>
- Parameters:
- object- the object to add
- count- the number of copies to add
- Returns:
- true, always
- Throws:
- ClassCastException- if the class of the specified element prevents it from being added to this collection
 
- 
addAll- Specified by:
- addAllin interface- Collection<E>
- Overrides:
- addAllin class- AbstractCollectionDecorator<E>
 
- 
containsAll(Change) Returnstrueif the bag contains all elements in the given collection, not respecting cardinality. That is, if the given collectioncollcontains at least one of every object contained in this object.- Specified by:
- containsAllin interface- Bag<E>
- Specified by:
- containsAllin interface- Collection<E>
- Overrides:
- containsAllin class- AbstractCollectionDecorator<E>
- Parameters:
- coll- the collection to check against
- Returns:
- trueif the Bag contains at least one of every object in the collection
 
- 
remove(Change) Removes the first occurrence of the given object from the bag.This will also remove the object from the AbstractBagDecorator.uniqueSet()if the bag contains no occurrence anymore of the object after this operation.- Specified by:
- removein interface- Bag<E>
- Specified by:
- removein interface- Collection<E>
- Overrides:
- removein class- AbstractCollectionDecorator<E>
- Parameters:
- object- the object to remove
- Returns:
- trueif this call changed the collection
 
- 
removeAll(Change) Remove all elements represented in the given collection, not respecting cardinality. That is, remove all occurrences of every object contained in the given collection.- Specified by:
- removeAllin interface- Bag<E>
- Specified by:
- removeAllin interface- Collection<E>
- Overrides:
- removeAllin class- AbstractCollectionDecorator<E>
- Parameters:
- coll- the collection to remove
- Returns:
- trueif this call changed the collection
 
- 
retainAll(Change) Remove any members of the bag that are not in the given collection, not respecting cardinality. That is, any object in the given collectioncollwill be retained in the bag with the same number of copies prior to this operation. All other objects will be completely removed from this bag.This implementation iterates over the elements of this bag, checking each element in turn to see if it's contained in coll. If it's not contained, it's removed from this bag. As a consequence, it is advised to use a collection type forcollthat provides a fast (for example O(1)) implementation ofCollection.contains(Object).- Specified by:
- retainAllin interface- Bag<E>
- Specified by:
- retainAllin interface- Collection<E>
- Overrides:
- retainAllin class- AbstractCollectionDecorator<E>
- Parameters:
- coll- the collection to retain
- Returns:
- trueif this call changed the collection
 
 
-