public class

TreeMap

extends AbstractMap<K, V>
implements NavigableMap<K, V>
java.lang.Object
   ↳ java.util.AbstractMap<K, V>
     ↳ java.util.TreeMap<K, V>

Class Overview

TreeMap is an implementation of SortedMap. All optional operations (adding and removing) are supported. The values can be any objects. The keys can be any objects which are comparable to each other either using their natural

Summary

Public Constructors
TreeMap()
Constructs a new empty TreeMap instance.
TreeMap(Comparator<? super K> comparator)
Constructs a new empty TreeMap instance with the specified comparator.
TreeMap(Map<? extends K, ? extends V> map)
Constructs a new TreeMap instance containing the mappings from the specified map and using natural ordering.
TreeMap(SortedMap<K, ? extends V> map)
Constructs a new TreeMap instance containing the mappings from the specified SortedMap and using the same comparator.
Public Methods
Entry<K, V> ceilingEntry(Object key)
Answers an entry related with the smallest key greater than or equal to the specified key, or null if no such key.
Object ceilingKey(Object key)
Answers the smallest key greater than or equal to the specified key, or null if no such key.
void clear()
Removes all mappings from this TreeMap, leaving it empty.
Comparator<? super K> comparator()
Returns the comparator used to compare elements in this map.
boolean containsKey(Object key)
Returns whether this map contains the specified key.
boolean containsValue(Object value)
Returns whether this map contains the specified value.
NavigableSet<K> descendingKeySet()
Answers a NavigableSet view of the keys in descending order.
NavigableMap<K, V> descendingMap()
Answers a reverse order view of the map.
Set<Entry<K, V>> entrySet()
Returns a set containing all of the mappings in this map.
Entry<K, V> firstEntry()
Answers the entry with the smallest key, or null if the map is empty.
Object firstKey()
Returns the first key in this map.
Entry<K, V> floorEntry(Object key)
Answers an entry related with the biggest key less than or equal to the specified key, or null if no such key.
Object floorKey(Object key)
Answers the biggest key less than or equal to the specified key, or null if no such key.
V get(Object key)
Returns the value of the mapping with the specified key.
NavigableMap<K, V> headMap(Object end, boolean inclusive)
Answers a view of the head of the map whose keys are smaller than (or equal to, depends on inclusive argument) endKey.
SortedMap<K, V> headMap(Object endKey)
Returns a sorted map over a range of this sorted map with all keys that are less than the specified endKey.
Entry<K, V> higherEntry(Object key)
Answers an entry related with the smallest key greater than the specified key, or null if no such key.
Object higherKey(Object key)
Answers the smallest key greater than the specified key, or null if no such key.
Set<K> keySet()
Returns a set of the keys contained in this map.
Entry<K, V> lastEntry()
Answers the entry with the biggest key, or null if the map is empty.
Object lastKey()
Returns the last key in this map.
Entry<K, V> lowerEntry(Object key)
Answers an entry related with the biggest key less than the specified key, or null if no such key.
Object lowerKey(Object key)
Answers the biggest key less than the specified key, or null if no such key.
NavigableSet<K> navigableKeySet()
Answers a NavigableSet view of the keys in ascending order.
Entry<K, V> pollFirstEntry()
Deletes and answers the entry with the smallest key, or null if the map is empty.
Entry<K, V> pollLastEntry()
Deletes and answers the entry with the biggest key, or null if the map is empty.
V put(K key, V value)
Maps the specified key to the specified value.
void putAll(Map<? extends K, ? extends V> map)
Copies all the mappings in the given map to this map.
V remove(Object key)
Removes the mapping with the specified key from this map.
int size()
Returns the number of mappings in this map.
NavigableMap<K, V> subMap(Object start, boolean startInclusive, Object end, boolean endInclusive)
Answers a view of part of the map whose keys is from startKey to endKey.
SortedMap<K, V> subMap(Object startKey, Object endKey)
Returns a sorted map over a range of this sorted map with all keys greater than or equal to the specified startKey and less than the specified endKey.
SortedMap<K, V> tailMap(Object startKey)
Returns a sorted map over a range of this sorted map with all keys that are greater than or equal to the specified startKey.
NavigableMap<K, V> tailMap(Object start, boolean inclusive)
Answers a view of the tail of the map whose keys are bigger than (or equal to, depends on inclusive argument) startKey.
Collection<V> values()
Returns a collection of the values contained in this map.
[Expand]
Inherited Methods
From class java.util.AbstractMap
From class java.lang.Object
From interface java.util.Map
From interface java.util.NavigableMap
From interface java.util.SortedMap

Public Constructors

public TreeMap ()

Constructs a new empty TreeMap instance.

public TreeMap (Comparator<? super K> comparator)

Constructs a new empty TreeMap instance with the specified comparator.

Parameters
comparator the comparator to compare keys with.

public TreeMap (Map<? extends K, ? extends V> map)

Constructs a new TreeMap instance containing the mappings from the specified map and using natural ordering.

Parameters
map the mappings to add.
Throws
ClassCastException if a key in the specified map does not implement the Comparable interface, or if the keys in the map cannot be compared.

public TreeMap (SortedMap<K, ? extends V> map)

Constructs a new TreeMap instance containing the mappings from the specified SortedMap and using the same comparator.

Parameters
map the mappings to add.

Public Methods

public Entry<K, V> ceilingEntry (Object key)

Answers an entry related with the smallest key greater than or equal to the specified key, or null if no such key.

Parameters
key the key
Returns
  • the entry, or null if no such key

public Object ceilingKey (Object key)

Answers the smallest key greater than or equal to the specified key, or null if no such key.

Parameters
key the key
Returns
  • the smallest key greater than or equal to key, or null if no such key

public void clear ()

Removes all mappings from this TreeMap, leaving it empty.

See Also

public Comparator<? super K> comparator ()

Returns the comparator used to compare elements in this map.

Returns
  • the comparator or null if the natural ordering is used.

public boolean containsKey (Object key)

Returns whether this map contains the specified key.

Parameters
key the key to search for.
Returns
  • true if this map contains the specified key, false otherwise.
Throws
ClassCastException if the specified key cannot be compared with the keys in this map.
NullPointerException if the specified key is null and the comparator cannot handle null keys.

public boolean containsValue (Object value)

Returns whether this map contains the specified value.

Parameters
value the value to search for.
Returns
  • true if this map contains the specified value, false otherwise.

public NavigableSet<K> descendingKeySet ()

Answers a NavigableSet view of the keys in descending order.

Returns
  • the navigable set view

public NavigableMap<K, V> descendingMap ()

Answers a reverse order view of the map.

Returns
  • the reverse order view of the map
See Also

public Set<Entry<K, V>> entrySet ()

Returns a set containing all of the mappings in this map. Each mapping is an instance of Map.Entry. As the set is backed by this map, changes in one will be reflected in the other. It does not support adding operations.

Returns
  • a set of the mappings.

public Entry<K, V> firstEntry ()

Answers the entry with the smallest key, or null if the map is empty.

Returns
  • the entry with the smallest key, or null if the map is empty
See Also

public Object firstKey ()

Returns the first key in this map.

Returns
  • the first key in this map.
Throws
NoSuchElementException if this map is empty.

public Entry<K, V> floorEntry (Object key)

Answers an entry related with the biggest key less than or equal to the specified key, or null if no such key.

Parameters
key the key
Returns
  • the entry, or null if no such key

public Object floorKey (Object key)

Answers the biggest key less than or equal to the specified key, or null if no such key.

Parameters
key the key
Returns
  • the biggest key less than or equal to key, or null if no such key
See Also

public V get (Object key)

Returns the value of the mapping with the specified key.

Parameters
key the key.
Returns
  • the value of the mapping with the specified key.
Throws
ClassCastException if the key cannot be compared with the keys in this map.
NullPointerException if the key is null and the comparator cannot handle null.

public NavigableMap<K, V> headMap (Object end, boolean inclusive)

Answers a view of the head of the map whose keys are smaller than (or equal to, depends on inclusive argument) endKey.

Parameters
end the end key
inclusive true if the end key is in the returned map
Returns
  • the head-map view

public SortedMap<K, V> headMap (Object endKey)

Returns a sorted map over a range of this sorted map with all keys that are less than the specified endKey. Changes to the returned sorted map are reflected in this sorted map and vice versa.

Note: The returned map will not allow an insertion of a key outside the specified range.

Parameters
endKey the high boundary of the range specified.
Returns
  • a sorted map where the keys are less than endKey.
Throws
ClassCastException if the specified key cannot be compared with the keys in this map.
NullPointerException if the specified key is null and the comparator cannot handle null keys.
IllegalArgumentException if this map is itself a sorted map over a range of another map and the specified key is outside of its range.

public Entry<K, V> higherEntry (Object key)

Answers an entry related with the smallest key greater than the specified key, or null if no such key.

Parameters
key the key
Returns
  • the entry, or null if no such key

public Object higherKey (Object key)

Answers the smallest key greater than the specified key, or null if no such key.

Parameters
key the key
Returns
  • the smallest key greater than key, or null if no such key

public Set<K> keySet ()

Returns a set of the keys contained in this map. The set is backed by this map so changes to one are reflected by the other. The set does not support adding.

Returns
  • a set of the keys.

public Entry<K, V> lastEntry ()

Answers the entry with the biggest key, or null if the map is empty.

Returns
  • the entry with the biggest key, or null if the map is empty
See Also

public Object lastKey ()

Returns the last key in this map.

Returns
  • the last key in this map.
Throws
NoSuchElementException if this map is empty.

public Entry<K, V> lowerEntry (Object key)

Answers an entry related with the biggest key less than the specified key, or null if no such key.

Parameters
key the key
Returns
  • the entry, or null if no such key

public Object lowerKey (Object key)

Answers the biggest key less than the specified key, or null if no such key.

Parameters
key the key
Returns
  • the biggest key less than key, or null if no such key
See Also

public NavigableSet<K> navigableKeySet ()

Answers a NavigableSet view of the keys in ascending order.

Returns
  • the navigable set view

public Entry<K, V> pollFirstEntry ()

Deletes and answers the entry with the smallest key, or null if the map is empty.

Returns
  • the entry with the smallest key, or null if the map is empty
See Also

public Entry<K, V> pollLastEntry ()

Deletes and answers the entry with the biggest key, or null if the map is empty.

Returns
  • the entry with the biggest key, or null if the map is empty
See Also

public V put (K key, V value)

Maps the specified key to the specified value.

Parameters
key the key.
value the value.
Returns
  • the value of any previous mapping with the specified key or null if there was no mapping.
Throws
ClassCastException if the specified key cannot be compared with the keys in this map.
NullPointerException if the specified key is null and the comparator cannot handle null keys.

public void putAll (Map<? extends K, ? extends V> map)

Copies all the mappings in the given map to this map. These mappings will replace all mappings that this map had for any of the keys currently in the given map.

Parameters
map the map to copy mappings from.
Throws
ClassCastException if a key in the specified map cannot be compared with the keys in this map.
NullPointerException if a key in the specified map is null and the comparator cannot handle null keys.

public V remove (Object key)

Removes the mapping with the specified key from this map.

Parameters
key the key of the mapping to remove.
Returns
  • the value of the removed mapping or null if no mapping for the specified key was found.
Throws
ClassCastException if the specified key cannot be compared with the keys in this map.
NullPointerException if the specified key is null and the comparator cannot handle null keys.

public int size ()

Returns the number of mappings in this map.

Returns
  • the number of mappings in this map.

public NavigableMap<K, V> subMap (Object start, boolean startInclusive, Object end, boolean endInclusive)

Answers a view of part of the map whose keys is from startKey to endKey.

Parameters
start the start key
startInclusive true if the start key is in the returned map
end the end key
endInclusive true if the end key is in the returned map
Returns
  • the sub-map view

public SortedMap<K, V> subMap (Object startKey, Object endKey)

Returns a sorted map over a range of this sorted map with all keys greater than or equal to the specified startKey and less than the specified endKey. Changes to the returned sorted map are reflected in this sorted map and vice versa.

Note: The returned map will not allow an insertion of a key outside the specified range.

Parameters
startKey the low boundary of the range (inclusive).
endKey the high boundary of the range (exclusive),
Returns
  • a sorted map with the key from the specified range.
Throws
ClassCastException if the start or end key cannot be compared with the keys in this map.
NullPointerException if the start or end key is null and the comparator cannot handle null keys.
IllegalArgumentException if the start key is greater than the end key, or if this map is itself a sorted map over a range of another sorted map and the specified range is outside of its range.

public SortedMap<K, V> tailMap (Object startKey)

Returns a sorted map over a range of this sorted map with all keys that are greater than or equal to the specified startKey. Changes to the returned sorted map are reflected in this sorted map and vice versa.

Note: The returned map will not allow an insertion of a key outside the specified range.

Parameters
startKey the low boundary of the range specified.
Returns
  • a sorted map where the keys are greater or equal to startKey.
Throws
ClassCastException if the specified key cannot be compared with the keys in this map.
NullPointerException if the specified key is null and the comparator cannot handle null keys.
IllegalArgumentException if this map itself a sorted map over a range of another map and the specified key is outside of its range.

public NavigableMap<K, V> tailMap (Object start, boolean inclusive)

Answers a view of the tail of the map whose keys are bigger than (or equal to, depends on inclusive argument) startKey.

Parameters
start the start key
inclusive true if the start key is in the returned map
Returns
  • the tail-map view

public Collection<V> values ()

Returns a collection of the values contained in this map. The collection is backed by this map so changes to one are reflected by the other. The collection supports remove, removeAll, retainAll and clear operations, and it does not support add or addAll operations.

This method returns a collection which is the subclass of AbstractCollection. The iterator method of this subclass returns a "wrapper object" over the iterator of map's entrySet(). The size method wraps the map's size method and the contains method wraps the map's containsValue method.

The collection is created when this method is called for the first time and returned in response to all subsequent calls. This method may return different collections when multiple concurrent calls occur, since no synchronization is performed.

Returns
  • a collection of the values contained in this map.