Class TreeBag<E>
java.lang.Object
org.apache.commons.collections4.bag.AbstractMapBag<E>
org.apache.commons.collections4.bag.TreeBag<E>
- Type Parameters:
E
- the type of elements in this bag
- All Implemented Interfaces:
Serializable
,Iterable<E>
,Collection<E>
,Bag<E>
,SortedBag<E>
Implements
SortedBag
, using a TreeMap
to provide the data storage.
This is the standard implementation of a sorted bag.
Order will be maintained among the bag members and can be viewed through the iterator.
A Bag
stores each object in the collection
together with a count of occurrences. Extra methods on the interface allow multiple
copies of an object to be added or removed at once. It is important to read the interface
Javadoc carefully as several methods violate the Collection
interface specification.
- Since:
- 3.0 (previously in main package v2.0)
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.commons.collections4.bag.AbstractMapBag
AbstractMapBag.MutableInteger
-
Constructor Summary
ConstructorDescriptionTreeBag()
Constructs an emptyTreeBag
.TreeBag
(Collection<? extends E> coll) Constructs aTreeBag
containing all the members of the specified collection.TreeBag
(Comparator<? super E> comparator) Constructs an empty bag that maintains order on its unique representative members according to the givenComparator
. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Adds a new element to the bag, incrementing its count in the underlying map.Comparator<? super E>
Returns the comparator associated with this sorted set, or null if it uses its elements' natural ordering.first()
Returns the first (lowest) member.protected SortedMap<E,
AbstractMapBag.MutableInteger> getMap()
Utility method for implementations to access the map that backs this bag.last()
Returns the last (highest) member.Methods inherited from class org.apache.commons.collections4.bag.AbstractMapBag
add, addAll, clear, contains, containsAll, doReadObject, doWriteObject, equals, getCount, hashCode, isEmpty, iterator, remove, remove, removeAll, retainAll, size, toArray, toArray, toString, uniqueSet
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.commons.collections4.Bag
add, containsAll, getCount, iterator, remove, remove, removeAll, retainAll, size, uniqueSet
Methods inherited from interface java.util.Collection
addAll, clear, contains, equals, hashCode, isEmpty, parallelStream, removeIf, spliterator, stream, toArray, toArray
-
Constructor Details
-
TreeBag
public TreeBag()Constructs an emptyTreeBag
. -
TreeBag
Constructs aTreeBag
containing all the members of the specified collection.- Parameters:
coll
- the collection to copy into the bag
-
TreeBag
Constructs an empty bag that maintains order on its unique representative members according to the givenComparator
.- Parameters:
comparator
- the comparator to use
-
-
Method Details
-
add
Adds a new element to the bag, incrementing its count in the underlying map.- Specified by:
add
in interfaceBag<E>
- Specified by:
add
in interfaceCollection<E>
- Overrides:
add
in classAbstractMapBag<E>
- Parameters:
object
- the object to add- Returns:
true
if the object was not already in theuniqueSet
- Throws:
IllegalArgumentException
- if the object to be added does not implementComparable
and theTreeBag
is using natural orderingNullPointerException
- if the specified key is null and this bag uses natural ordering, or its comparator does not permit null keys
-
comparator
Description copied from interface:SortedBag
Returns the comparator associated with this sorted set, or null if it uses its elements' natural ordering.- Specified by:
comparator
in interfaceSortedBag<E>
- Returns:
- the comparator in use, or null if natural ordering
-
first
Description copied from interface:SortedBag
Returns the first (lowest) member. -
getMap
Description copied from class:AbstractMapBag
Utility method for implementations to access the map that backs this bag. Not intended for interactive use outside of subclasses.- Overrides:
getMap
in classAbstractMapBag<E>
- Returns:
- the map being used by the Bag
-
last
Description copied from interface:SortedBag
Returns the last (highest) member.
-