Class Object2IntRBTreeMap<K>

All Implemented Interfaces:
Function<K,​java.lang.Integer>, Object2IntFunction<K>, Object2IntMap<K>, Object2IntSortedMap<K>, java.io.Serializable, java.lang.Cloneable, java.util.function.Function<K,​java.lang.Integer>, java.util.function.ToIntFunction<K>, java.util.Map<K,​java.lang.Integer>, java.util.SortedMap<K,​java.lang.Integer>

public class Object2IntRBTreeMap<K>
extends AbstractObject2IntSortedMap<K>
implements java.io.Serializable, java.lang.Cloneable
A type-specific red-black tree map with a fast, small-footprint implementation.

The iterators provided by the views of this class are type-specific bidirectional iterators. Moreover, the iterator returned by iterator() can be safely cast to a type-specific list iterator.

See Also:
Serialized Form
  • Constructor Details

    • Object2IntRBTreeMap

      public Object2IntRBTreeMap()
      Creates a new empty tree map.
    • Object2IntRBTreeMap

      public Object2IntRBTreeMap​(java.util.Comparator<? super K> c)
      Creates a new empty tree map with the given comparator.
      Parameters:
      c - a (possibly type-specific) comparator.
    • Object2IntRBTreeMap

      public Object2IntRBTreeMap​(java.util.Map<? extends K,​? extends java.lang.Integer> m)
      Creates a new tree map copying a given map.
      Parameters:
      m - a Map to be copied into the new tree map.
    • Object2IntRBTreeMap

      public Object2IntRBTreeMap​(java.util.SortedMap<K,​java.lang.Integer> m)
      Creates a new tree map copying a given sorted map (and its Comparator).
      Parameters:
      m - a SortedMap to be copied into the new tree map.
    • Object2IntRBTreeMap

      public Object2IntRBTreeMap​(Object2IntMap<? extends K> m)
      Creates a new tree map copying a given map.
      Parameters:
      m - a type-specific map to be copied into the new tree map.
    • Object2IntRBTreeMap

      public Object2IntRBTreeMap​(Object2IntSortedMap<K> m)
      Creates a new tree map copying a given sorted map (and its Comparator).
      Parameters:
      m - a type-specific sorted map to be copied into the new tree map.
    • Object2IntRBTreeMap

      public Object2IntRBTreeMap​(K[] k, int[] v, java.util.Comparator<? super K> c)
      Creates a new tree map using the elements of two parallel arrays and the given comparator.
      Parameters:
      k - the array of keys of the new tree map.
      v - the array of corresponding values in the new tree map.
      c - a (possibly type-specific) comparator.
      Throws:
      java.lang.IllegalArgumentException - if k and v have different lengths.
    • Object2IntRBTreeMap

      public Object2IntRBTreeMap​(K[] k, int[] v)
      Creates a new tree map using the elements of two parallel arrays.
      Parameters:
      k - the array of keys of the new tree map.
      v - the array of corresponding values in the new tree map.
      Throws:
      java.lang.IllegalArgumentException - if k and v have different lengths.
  • Method Details

    • addTo

      public int addTo​(K k, int incr)
      Adds an increment to value currently associated with a key.

      Note that this method respects the default return value semantics: when called with a key that does not currently appears in the map, the key will be associated with the default return value plus the given increment.

      Parameters:
      k - the key.
      incr - the increment.
      Returns:
      the old value, or the default return value if no value was present for the given key.
    • put

      public int put​(K k, int v)
      Description copied from interface: Object2IntFunction
      Adds a pair to the map (optional operation).
      Specified by:
      put in interface Object2IntFunction<K>
      Parameters:
      k - the key.
      v - the value.
      Returns:
      the old value, or the default return value if no value was present for the given key.
      See Also:
      Function.put(Object,Object)
    • removeInt

      public int removeInt​(java.lang.Object k)
      Description copied from interface: Object2IntFunction
      Removes the mapping with the given key (optional operation).
      Specified by:
      removeInt in interface Object2IntFunction<K>
      Parameters:
      k - the key.
      Returns:
      the old value, or the default return value if no value was present for the given key.
      See Also:
      Function.remove(Object)
    • containsValue

      public boolean containsValue​(int v)
      Description copied from class: AbstractObject2IntMap
      Returns true if this map maps one or more keys to the specified value.
      Specified by:
      containsValue in interface Object2IntMap<K>
      Overrides:
      containsValue in class AbstractObject2IntMap<K>
      See Also:
      Map.containsValue(Object)
    • clear

      public void clear()
      Description copied from interface: Object2IntMap
      Removes all of the mappings from this map (optional operation). The map will be empty after this call returns.
      Specified by:
      clear in interface Function<K,​java.lang.Integer>
      Specified by:
      clear in interface java.util.Map<K,​java.lang.Integer>
      Specified by:
      clear in interface Object2IntMap<K>
      See Also:
      Map.clear()
    • containsKey

      public boolean containsKey​(java.lang.Object k)
      Description copied from class: AbstractObject2IntMap
      Returns true if this function contains a mapping for the specified key.
      Specified by:
      containsKey in interface Function<K,​java.lang.Integer>
      Specified by:
      containsKey in interface java.util.Map<K,​java.lang.Integer>
      Specified by:
      containsKey in interface Object2IntMap<K>
      Overrides:
      containsKey in class AbstractObject2IntMap<K>
      Parameters:
      k - the key.
      Returns:
      true if this function associates a value to key.
      See Also:
      Map.containsKey(Object)
    • size

      public int size()
      Description copied from interface: Object2IntMap
      Returns the number of key/value mappings in this map. If the map contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.
      Specified by:
      size in interface Function<K,​java.lang.Integer>
      Specified by:
      size in interface java.util.Map<K,​java.lang.Integer>
      Specified by:
      size in interface Object2IntMap<K>
      Returns:
      the number of key-value mappings in this map.
      See Also:
      Size64
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface java.util.Map<K,​java.lang.Integer>
      Overrides:
      isEmpty in class AbstractObject2IntMap<K>
    • getInt

      public int getInt​(java.lang.Object k)
      Description copied from interface: Object2IntFunction
      Returns the value to which the given key is mapped.
      Specified by:
      getInt in interface Object2IntFunction<K>
      Parameters:
      k - the key.
      Returns:
      the corresponding value, or the default return value if no value was present for the given key.
      See Also:
      Function.get(Object)
    • firstKey

      public K firstKey()
      Specified by:
      firstKey in interface java.util.SortedMap<K,​java.lang.Integer>
    • lastKey

      public K lastKey()
      Specified by:
      lastKey in interface java.util.SortedMap<K,​java.lang.Integer>
    • object2IntEntrySet

      public ObjectSortedSet<Object2IntMap.Entry<K>> object2IntEntrySet()
      Description copied from interface: Object2IntSortedMap
      Returns a type-specific sorted-set view of the mappings contained in this map.
      Specified by:
      object2IntEntrySet in interface Object2IntMap<K>
      Specified by:
      object2IntEntrySet in interface Object2IntSortedMap<K>
      Returns:
      a type-specific sorted-set view of the mappings contained in this map.
      See Also:
      Object2IntSortedMap.entrySet()
    • keySet

      public ObjectSortedSet<K> keySet()
      Returns a type-specific sorted set view of the keys contained in this map.

      In addition to the semantics of Map.keySet(), you can safely cast the set returned by this call to a type-specific sorted set interface.

      Specified by:
      keySet in interface java.util.Map<K,​java.lang.Integer>
      Specified by:
      keySet in interface Object2IntMap<K>
      Specified by:
      keySet in interface Object2IntSortedMap<K>
      Specified by:
      keySet in interface java.util.SortedMap<K,​java.lang.Integer>
      Overrides:
      keySet in class AbstractObject2IntSortedMap<K>
      Returns:
      a type-specific sorted set view of the keys contained in this map.
      See Also:
      Map.keySet()
    • values

      public IntCollection values()
      Returns a type-specific collection view of the values contained in this map.

      In addition to the semantics of Map.values(), you can safely cast the collection returned by this call to a type-specific collection interface.

      Specified by:
      values in interface java.util.Map<K,​java.lang.Integer>
      Specified by:
      values in interface Object2IntMap<K>
      Specified by:
      values in interface Object2IntSortedMap<K>
      Specified by:
      values in interface java.util.SortedMap<K,​java.lang.Integer>
      Overrides:
      values in class AbstractObject2IntSortedMap<K>
      Returns:
      a type-specific collection view of the values contained in this map.
      See Also:
      Map.values()
    • comparator

      public java.util.Comparator<? super K> comparator()
      Description copied from interface: Object2IntSortedMap
      Returns the comparator associated with this sorted set, or null if it uses its keys' natural ordering.
      Specified by:
      comparator in interface Object2IntSortedMap<K>
      Specified by:
      comparator in interface java.util.SortedMap<K,​java.lang.Integer>
      See Also:
      SortedMap.comparator()
    • headMap

      public Object2IntSortedMap<K> headMap​(K to)
      Description copied from interface: Object2IntSortedMap
      Returns a view of the portion of this sorted map whose keys are strictly less than toKey.
      Specified by:
      headMap in interface Object2IntSortedMap<K>
      Specified by:
      headMap in interface java.util.SortedMap<K,​java.lang.Integer>
      See Also:
      SortedMap.headMap(Object)
    • tailMap

      public Object2IntSortedMap<K> tailMap​(K from)
      Description copied from interface: Object2IntSortedMap
      Returns a view of the portion of this sorted map whose keys are greater than or equal to fromKey.
      Specified by:
      tailMap in interface Object2IntSortedMap<K>
      Specified by:
      tailMap in interface java.util.SortedMap<K,​java.lang.Integer>
      See Also:
      SortedMap.tailMap(Object)
    • subMap

      public Object2IntSortedMap<K> subMap​(K from, K to)
      Description copied from interface: Object2IntSortedMap
      Returns a view of the portion of this sorted map whose keys range from fromKey, inclusive, to toKey, exclusive.
      Specified by:
      subMap in interface Object2IntSortedMap<K>
      Specified by:
      subMap in interface java.util.SortedMap<K,​java.lang.Integer>
      See Also:
      SortedMap.subMap(Object,Object)
    • clone

      public Object2IntRBTreeMap<K> clone()
      Returns a deep copy of this tree map.

      This method performs a deep copy of this tree map; the data stored in the set, however, is not cloned. Note that this makes a difference only for object keys.

      Returns:
      a deep copy of this tree map.