|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.apache.commons.collections.DefaultMapBag
This class provides a skeletal implementation of the Bag
interface to minimize the effort required for target implementations.
Subclasses need only to call #setMap(Map)
in their constructor
specifying a map instance that will be used to store the contents of
the bag.
The map will be used to map bag elements to a number; the number represents the number of occurrences of that element in the bag.
Constructor Summary | |
DefaultMapBag()
Constructor. |
Method Summary | |
boolean |
add(java.lang.Object o)
Adds a new element to the bag by incrementing its count in the underlying map. |
boolean |
add(java.lang.Object o,
int i)
Adds a new element to the bag by incrementing its count in the map. |
boolean |
addAll(java.util.Collection c)
Invokes add(Object) for each element in the given collection. |
void |
clear()
Clears the bag by clearing the underlying map. |
boolean |
contains(java.lang.Object o)
Determines if the bag contains the given element by checking if the underlying map contains the element as a key. |
boolean |
containsAll(Bag other)
Returns true if the bag contains all elements in
the given collection, respecting cardinality. |
boolean |
containsAll(java.util.Collection c)
(Violation) Returns true if the bag contains all elements in
the given collection, respecting cardinality. |
boolean |
equals(java.lang.Object o)
Returns true if the given object is not null, has the precise type of this bag, and contains the same number of occurrences of all the same elements. |
int |
getCount(java.lang.Object o)
Returns the number of occurrence of the given element in this bag by looking up its count in the underlying map. |
int |
hashCode()
Returns the hash code of the underlying map. |
boolean |
isEmpty()
Returns true if the underlying map is empty. |
java.util.Iterator |
iterator()
Returns an Iterator over the entire set of members,
including copies due to cardinality. |
boolean |
remove(java.lang.Object o)
(Violation) Remove all occurrences of the given object from the bag, and do not represent the object in the uniqueSet() . |
boolean |
remove(java.lang.Object o,
int i)
Remove the given number of occurrences from the bag. |
boolean |
removeAll(java.util.Collection c)
(Violation) Remove all elements represented in the given collection, respecting cardinality. |
boolean |
retainAll(Bag other)
Remove any members of the bag that are not in the given bag, respecting cardinality. |
boolean |
retainAll(java.util.Collection c)
Remove any members of the bag that are not in the given bag, respecting cardinality. |
int |
size()
Returns the number of elements in this bag. |
java.lang.Object[] |
toArray()
Returns an array of all of this bag's elements. |
java.lang.Object[] |
toArray(java.lang.Object[] a)
Returns an array of all of this bag's elements. |
java.lang.String |
toString()
Implement a toString() method suitable for debugging |
java.util.Set |
uniqueSet()
Returns an unmodifiable view of the underlying map's key set. |
Methods inherited from class java.lang.Object |
getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public DefaultMapBag()
#setMap(Map)
in
their constructors.
Method Detail |
public boolean add(java.lang.Object o)
add
in interface Bag
true
if the object was not already in the
uniqueSet
Bag.add(Object)
public boolean add(java.lang.Object o, int i)
add
in interface Bag
true
if the object was not already in the
uniqueSet
Bag.add(Object, int)
public boolean addAll(java.util.Collection c)
add(Object)
for each element in the given collection.
addAll
in interface java.util.Collection
Collection.addAll(Collection)
public void clear()
clear
in interface java.util.Collection
public boolean contains(java.lang.Object o)
contains
in interface java.util.Collection
public boolean containsAll(java.util.Collection c)
Bag
true
if the bag contains all elements in
the given collection, respecting cardinality. That is, if the
given collection C
contains n
copies
of a given object, calling Bag.getCount(Object)
on that object must
be >= n
for all n
in C
.
The Collection.containsAll(Collection)
method specifies
that cardinality should not be respected; this method should
return true if the bag contains at least one of every object contained
in the given collection. A future version of this method will comply
with that contract.
containsAll
in interface Bag
public boolean containsAll(Bag other)
true
if the bag contains all elements in
the given collection, respecting cardinality.
containsAll(Collection)
public boolean equals(java.lang.Object o)
equals
in interface java.util.Collection
equals
in class java.lang.Object
o
- the object to test for equality
public int hashCode()
hashCode
in interface java.util.Collection
hashCode
in class java.lang.Object
public boolean isEmpty()
isEmpty
in interface java.util.Collection
public java.util.Iterator iterator()
Bag
Iterator
over the entire set of members,
including copies due to cardinality. This iterator is fail-fast
and will not tolerate concurrent modifications.
iterator
in interface Bag
public boolean remove(java.lang.Object o)
Bag
Bag.uniqueSet()
.
According to the Collection.remove(Object)
method,
this method should only remove the first occurrence of the
given object, not all occurrences. A future version of this
method will comply with the contract by only removing one occurrence
of the given object.
remove
in interface Bag
true
if this call changed the collectionBag.remove(Object, int)
public boolean remove(java.lang.Object o, int i)
Bag
i
occurrences or less, the item will be
removed from the Bag.uniqueSet()
.
remove
in interface Bag
true
if this call changed the collectionBag.getCount(Object)
,
Bag.remove(Object)
public boolean removeAll(java.util.Collection c)
Bag
C
contains n
copies of a given object,
the bag will have n
fewer copies, assuming the bag
had at least n
copies to begin with.
The Collection.removeAll(Collection)
method specifies
that cardinality should not be respected; this method should
remove all occurrences of every object contained in the
given collection. A future version of this method will comply
with that contract.
removeAll
in interface Bag
true
if this call changed the collectionpublic boolean retainAll(java.util.Collection c)
retainAll
in interface Bag
public boolean retainAll(Bag other)
true
if this call changed the collectionretainAll(Collection)
public java.lang.Object[] toArray()
toArray
in interface java.util.Collection
public java.lang.Object[] toArray(java.lang.Object[] a)
toArray
in interface java.util.Collection
a
- the array to populate
public int getCount(java.lang.Object o)
getCount
in interface Bag
Bag.getCount(Object)
public java.util.Set uniqueSet()
uniqueSet
in interface Bag
public int size()
size
in interface Bag
public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |