public class TreeBag<E> extends AbstractMapBag<E> implements SortedBag<E>, java.io.Serializable
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.
AbstractMapBag.BagIterator<E>, AbstractMapBag.MutableInteger| Modifier and Type | Field and Description |
|---|---|
private static long |
serialVersionUID
Serial version lock
|
| Constructor and Description |
|---|
TreeBag()
Constructs an empty
TreeBag. |
TreeBag(java.util.Collection<? extends E> coll)
Constructs a
TreeBag containing all the members of the
specified collection. |
TreeBag(java.util.Comparator<? super E> comparator)
Constructs an empty bag that maintains order on its unique representative
members according to the given
Comparator. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(E object)
Adds a new element to the bag, incrementing its count in the underlying map.
|
java.util.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 java.util.SortedMap<E,AbstractMapBag.MutableInteger> |
getMap()
Utility method for implementations to access the map that backs this bag.
|
E |
last()
Returns the last (highest) member.
|
private void |
readObject(java.io.ObjectInputStream in)
Read the bag in using a custom routine.
|
private void |
writeObject(java.io.ObjectOutputStream out)
Write the bag out using a custom routine.
|
add, addAll, clear, contains, containsAll, containsAll, doReadObject, doWriteObject, equals, getCount, hashCode, isEmpty, iterator, remove, remove, removeAll, retainAll, retainAll, size, toArray, toArray, toString, uniqueSetclone, finalize, getClass, notify, notifyAll, wait, wait, waitadd, containsAll, getCount, iterator, remove, remove, removeAll, retainAll, size, uniqueSetprivate static final long serialVersionUID
public TreeBag()
TreeBag.public TreeBag(java.util.Comparator<? super E> comparator)
Comparator.comparator - the comparator to usepublic boolean add(E object)
add in interface java.util.Collection<E>add in interface Bag<E>add in class AbstractMapBag<E>object - the object to addtrue if the object was not already in the uniqueSetjava.lang.IllegalArgumentException - if the object to be added does not implement
Comparable and the TreeBag is using natural orderingpublic E first()
SortedBagpublic E last()
SortedBagpublic java.util.Comparator<? super E> comparator()
SortedBagcomparator in interface SortedBag<E>protected java.util.SortedMap<E,AbstractMapBag.MutableInteger> getMap()
AbstractMapBaggetMap in class AbstractMapBag<E>private void writeObject(java.io.ObjectOutputStream out)
throws java.io.IOException
java.io.IOExceptionprivate void readObject(java.io.ObjectInputStream in)
throws java.io.IOException,
java.lang.ClassNotFoundException
java.io.IOExceptionjava.lang.ClassNotFoundException