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>
public class TreeBag<E> extends AbstractMapBag<E> implements SortedBag<E>, Serializable
ImplementsSortedBag
, using aTreeMap
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 theCollection
interface specification.- Since:
- 3.0 (previously in main package v2.0)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.commons.collections4.bag.AbstractMapBag
AbstractMapBag.MutableInteger
-
-
Constructor Summary
Constructors Constructor Description TreeBag()
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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(E object)
Adds a new element to the bag, incrementing its count in the underlying map.Comparator<? super E>
comparator()
Returns the comparator associated with this sorted set, or null if it uses its elements' natural ordering.E
first()
Returns the first (lowest) member.protected SortedMap<E,AbstractMapBag.MutableInteger>
getMap()
Utility method for implementations to access the map that backs this bag.E
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, toArray
-
-
-
-
Constructor Detail
-
TreeBag
public TreeBag()
Constructs an emptyTreeBag
.
-
TreeBag
public TreeBag(Comparator<? super E> comparator)
Constructs an empty bag that maintains order on its unique representative members according to the givenComparator
.- Parameters:
comparator
- the comparator to use
-
TreeBag
public TreeBag(Collection<? extends E> coll)
Constructs aTreeBag
containing all the members of the specified collection.- Parameters:
coll
- the collection to copy into the bag
-
-
Method Detail
-
add
public boolean add(E object)
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
-
first
public E first()
Description copied from interface:SortedBag
Returns the first (lowest) member.
-
last
public E last()
Description copied from interface:SortedBag
Returns the last (highest) member.
-
comparator
public Comparator<? super E> 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
-
getMap
protected SortedMap<E,AbstractMapBag.MutableInteger> 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
-
-