public class TreeMap<K,V> extends AbstractSortedMap<K,V>
| Modifier and Type | Class and Description | 
|---|---|
protected static class  | 
TreeMap.BalanceableBinaryTree<K,V>
A specialized version of the LinkedBinaryTree class with
 additional mutators to support binary search tree operations, and
 a specialized node class that includes an auxiliary instance
 variable for balancing data. 
 | 
AbstractMap.MapEntry<K,V>| Modifier and Type | Field and Description | 
|---|---|
protected TreeMap.BalanceableBinaryTree<K,V> | 
tree
Representation of the underlying tree structure. 
 | 
| Constructor and Description | 
|---|
TreeMap()
Constructs an empty map using the natural ordering of keys. 
 | 
TreeMap(Comparator<K> comp)
Constructs an empty map using the given comparator to order keys. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
Entry<K,V> | 
ceilingEntry(K key)
Returns the entry with least key greater than or equal to given key
 (or null if no such key exists). 
 | 
protected void | 
dump()
Prints textual representation of tree structure (for debug purpose only). 
 | 
Iterable<Entry<K,V>> | 
entrySet()
Returns an iterable collection of all key-value entries of the map. 
 | 
Entry<K,V> | 
firstEntry()
Returns the entry having the least key (or null if map is empty). 
 | 
Entry<K,V> | 
floorEntry(K key)
Returns the entry with greatest key less than or equal to given key
 (or null if no such key exists). 
 | 
V | 
get(K key)
Returns the value associated with the specified key, or null if no such entry exists. 
 | 
Entry<K,V> | 
higherEntry(K key)
Returns the entry with least key strictly greater than given key
 (or null if no such key exists). 
 | 
protected boolean | 
isExternal(Position<Entry<K,V>> p)  | 
protected boolean | 
isInternal(Position<Entry<K,V>> p)  | 
protected boolean | 
isRoot(Position<Entry<K,V>> p)  | 
Entry<K,V> | 
lastEntry()
Returns the entry having the greatest key (or null if map is empty). 
 | 
protected Position<Entry<K,V>> | 
left(Position<Entry<K,V>> p)  | 
Entry<K,V> | 
lowerEntry(K key)
Returns the entry with greatest key strictly less than given key
 (or null if no such key exists). 
 | 
protected Position<Entry<K,V>> | 
parent(Position<Entry<K,V>> p)  | 
V | 
put(K key,
   V value)
Associates the given value with the given key. 
 | 
protected void | 
rebalanceAccess(Position<Entry<K,V>> p)
Rebalances the tree after an access of specified position. 
 | 
protected void | 
rebalanceDelete(Position<Entry<K,V>> p)
Rebalances the tree after a child of specified position has been
 removed. 
 | 
protected void | 
rebalanceInsert(Position<Entry<K,V>> p)
Rebalances the tree after an insertion of specified position. 
 | 
V | 
remove(K key)
Removes the entry with the specified key, if present, and returns
 its associated value. 
 | 
protected Entry<K,V> | 
remove(Position<Entry<K,V>> p)  | 
protected Position<Entry<K,V>> | 
restructure(Position<Entry<K,V>> x)  | 
protected Position<Entry<K,V>> | 
right(Position<Entry<K,V>> p)  | 
protected Position<Entry<K,V>> | 
root()  | 
protected void | 
rotate(Position<Entry<K,V>> p)  | 
protected void | 
set(Position<Entry<K,V>> p,
   Entry<K,V> e)  | 
protected Position<Entry<K,V>> | 
sibling(Position<Entry<K,V>> p)  | 
int | 
size()
Returns the number of entries in the map. 
 | 
Iterable<Entry<K,V>> | 
subMap(K fromKey,
      K toKey)
Returns an iterable containing all entries with keys in the range from
  
fromKey inclusive to toKey exclusive. | 
protected Position<Entry<K,V>> | 
treeMax(Position<Entry<K,V>> p)
Returns the position with the maximum key in the subtree rooted at p. 
 | 
protected Position<Entry<K,V>> | 
treeMin(Position<Entry<K,V>> p)
Returns position with the minimal key in the subtree rooted at Position p. 
 | 
checkKey, compare, compare, compare, compareisEmpty, keySet, valuesprotected TreeMap.BalanceableBinaryTree<K,V> tree
public TreeMap()
public TreeMap(Comparator<K> comp)
comp - comparator defining the order of keys in the mappublic int size()
protected Position<Entry<K,V>> treeMin(Position<Entry<K,V>> p)
p - a Position of the tree serving as root of a subtreeprotected Position<Entry<K,V>> treeMax(Position<Entry<K,V>> p)
p - a Position of the tree serving as root of a subtreepublic V get(K key) throws IllegalArgumentException
key - the key whose associated value is to be returnedIllegalArgumentExceptionpublic V put(K key, V value) throws IllegalArgumentException
key - key with which the specified value is to be associatedvalue - value to be associated with the specified keyIllegalArgumentExceptionpublic V remove(K key) throws IllegalArgumentException
key - the key whose entry is to be removed from the mapIllegalArgumentExceptionpublic Entry<K,V> firstEntry()
public Entry<K,V> lastEntry()
public Entry<K,V> ceilingEntry(K key) throws IllegalArgumentException
IllegalArgumentException - if the key is not compatible with the mappublic Entry<K,V> floorEntry(K key) throws IllegalArgumentException
IllegalArgumentException - if the key is not compatible with the mappublic Entry<K,V> lowerEntry(K key) throws IllegalArgumentException
IllegalArgumentException - if the key is not compatible with the mappublic Entry<K,V> higherEntry(K key) throws IllegalArgumentException
IllegalArgumentException - if the key is not compatible with the mappublic Iterable<Entry<K,V>> entrySet()
public Iterable<Entry<K,V>> subMap(K fromKey, K toKey) throws IllegalArgumentException
fromKey inclusive to toKey exclusive.IllegalArgumentException - if fromKey or toKey is not compatible with the mapprotected void rebalanceInsert(Position<Entry<K,V>> p)
p - the position which was recently insertedprotected void rebalanceDelete(Position<Entry<K,V>> p)
p - the position of the sibling of the removed leafprotected void rebalanceAccess(Position<Entry<K,V>> p)
p - the Position which was recently accessed (possibly a leaf)protected void dump()