org.apache.commons.collections4.bag
Class TreeBag<E>

java.lang.Object
  extended by org.apache.commons.collections4.bag.AbstractMapBag<E>
      extended by org.apache.commons.collections4.bag.TreeBag<E>
All Implemented Interfaces:
Serializable, Iterable<E>, Collection<E>, Bag<E>, SortedBag<E>

public class TreeBag<E>
extends AbstractMapBag<E>
implements SortedBag<E>, Serializable

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)
Version:
$Id: TreeBag.java 1477752 2013-04-30 18:21:52Z tn $
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.commons.collections4.bag.AbstractMapBag
AbstractMapBag.MutableInteger
 
Constructor Summary
TreeBag()
          Constructs an empty TreeBag.
TreeBag(Collection<? extends E> coll)
          Constructs a TreeBag 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 given Comparator.
 
Method Summary
 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, toArray, toArray
 

Constructor Detail

TreeBag

public TreeBag()
Constructs an empty TreeBag.


TreeBag

public TreeBag(Comparator<? super E> comparator)
Constructs an empty bag that maintains order on its unique representative members according to the given Comparator.

Parameters:
comparator - the comparator to use

TreeBag

public TreeBag(Collection<? extends E> coll)
Constructs a TreeBag 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 interface Collection<E>
Specified by:
add in interface Bag<E>
Overrides:
add in class AbstractMapBag<E>
Parameters:
object - the object to add
Returns:
true if the object was not already in the uniqueSet
Throws:
IllegalArgumentException - if the object to be added does not implement Comparable and the TreeBag is using natural ordering

first

public E first()
Description copied from interface: SortedBag
Returns the first (lowest) member.

Specified by:
first in interface SortedBag<E>
Returns:
the first element in the sorted bag

last

public E last()
Description copied from interface: SortedBag
Returns the last (highest) member.

Specified by:
last in interface SortedBag<E>
Returns:
the last element in the sorted bag

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 interface SortedBag<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 class AbstractMapBag<E>
Returns:
the map being used by the Bag


Copyright © 2001–2013 The Apache Software Foundation. All rights reserved.