Class Int2ByteRBTreeMap

All Implemented Interfaces:
Function<java.lang.Integer,​java.lang.Byte>, Int2ByteFunction, Int2ByteMap, Int2ByteSortedMap, java.io.Serializable, java.lang.Cloneable, java.util.function.Function<java.lang.Integer,​java.lang.Byte>, java.util.function.IntUnaryOperator, java.util.Map<java.lang.Integer,​java.lang.Byte>, java.util.SortedMap<java.lang.Integer,​java.lang.Byte>

public class Int2ByteRBTreeMap
extends AbstractInt2ByteSortedMap
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

    • Int2ByteRBTreeMap

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

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

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

      public Int2ByteRBTreeMap​(java.util.SortedMap<java.lang.Integer,​java.lang.Byte> 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.
    • Int2ByteRBTreeMap

      public Int2ByteRBTreeMap​(Int2ByteMap m)
      Creates a new tree map copying a given map.
      Parameters:
      m - a type-specific map to be copied into the new tree map.
    • Int2ByteRBTreeMap

      public Int2ByteRBTreeMap​(Int2ByteSortedMap 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.
    • Int2ByteRBTreeMap

      public Int2ByteRBTreeMap​(int[] k, byte[] v, java.util.Comparator<? super java.lang.Integer> 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.
    • Int2ByteRBTreeMap

      public Int2ByteRBTreeMap​(int[] k, byte[] 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 byte addTo​(int k, byte 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 byte put​(int k, byte v)
      Description copied from interface: Int2ByteFunction
      Adds a pair to the map (optional operation).
      Specified by:
      put in interface Int2ByteFunction
      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)
    • remove

      public byte remove​(int k)
      Description copied from interface: Int2ByteFunction
      Removes the mapping with the given key (optional operation).
      Specified by:
      remove in interface Int2ByteFunction
      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​(byte v)
      Description copied from class: AbstractInt2ByteMap
      Returns true if this map maps one or more keys to the specified value.
      Specified by:
      containsValue in interface Int2ByteMap
      Overrides:
      containsValue in class AbstractInt2ByteMap
      See Also:
      Map.containsValue(Object)
    • clear

      public void clear()
      Description copied from interface: Int2ByteMap
      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<java.lang.Integer,​java.lang.Byte>
      Specified by:
      clear in interface Int2ByteMap
      Specified by:
      clear in interface java.util.Map<java.lang.Integer,​java.lang.Byte>
      See Also:
      Map.clear()
    • containsKey

      public boolean containsKey​(int k)
      Description copied from class: AbstractInt2ByteMap
      Returns true if this function contains a mapping for the specified key.
      Specified by:
      containsKey in interface Int2ByteFunction
      Specified by:
      containsKey in interface Int2ByteMap
      Overrides:
      containsKey in class AbstractInt2ByteMap
      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: Int2ByteMap
      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<java.lang.Integer,​java.lang.Byte>
      Specified by:
      size in interface Int2ByteMap
      Specified by:
      size in interface java.util.Map<java.lang.Integer,​java.lang.Byte>
      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<java.lang.Integer,​java.lang.Byte>
      Overrides:
      isEmpty in class AbstractInt2ByteMap
    • get

      public byte get​(int k)
      Description copied from interface: Int2ByteFunction
      Returns the value to which the given key is mapped.
      Specified by:
      get in interface Int2ByteFunction
      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)
    • firstIntKey

      public int firstIntKey()
      Description copied from interface: Int2ByteSortedMap
      Returns the first (lowest) key currently in this map.
      Specified by:
      firstIntKey in interface Int2ByteSortedMap
      See Also:
      SortedMap.firstKey()
    • lastIntKey

      public int lastIntKey()
      Description copied from interface: Int2ByteSortedMap
      Returns the last (highest) key currently in this map.
      Specified by:
      lastIntKey in interface Int2ByteSortedMap
      See Also:
      SortedMap.lastKey()
    • int2ByteEntrySet

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

      public IntSortedSet 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 Int2ByteMap
      Specified by:
      keySet in interface Int2ByteSortedMap
      Specified by:
      keySet in interface java.util.Map<java.lang.Integer,​java.lang.Byte>
      Specified by:
      keySet in interface java.util.SortedMap<java.lang.Integer,​java.lang.Byte>
      Overrides:
      keySet in class AbstractInt2ByteSortedMap
      Returns:
      a type-specific sorted set view of the keys contained in this map.
      See Also:
      Map.keySet()
    • values

      public ByteCollection 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 Int2ByteMap
      Specified by:
      values in interface Int2ByteSortedMap
      Specified by:
      values in interface java.util.Map<java.lang.Integer,​java.lang.Byte>
      Specified by:
      values in interface java.util.SortedMap<java.lang.Integer,​java.lang.Byte>
      Overrides:
      values in class AbstractInt2ByteSortedMap
      Returns:
      a type-specific collection view of the values contained in this map.
      See Also:
      Map.values()
    • comparator

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

      public Int2ByteSortedMap headMap​(int to)
      Description copied from interface: Int2ByteSortedMap
      Returns a view of the portion of this sorted map whose keys are strictly less than toKey.
      Specified by:
      headMap in interface Int2ByteSortedMap
      See Also:
      SortedMap.headMap(Object)
    • tailMap

      public Int2ByteSortedMap tailMap​(int from)
      Description copied from interface: Int2ByteSortedMap
      Returns a view of the portion of this sorted map whose keys are greater than or equal to fromKey.
      Specified by:
      tailMap in interface Int2ByteSortedMap
      See Also:
      SortedMap.tailMap(Object)
    • subMap

      public Int2ByteSortedMap subMap​(int from, int to)
      Description copied from interface: Int2ByteSortedMap
      Returns a view of the portion of this sorted map whose keys range from fromKey, inclusive, to toKey, exclusive.
      Specified by:
      subMap in interface Int2ByteSortedMap
      See Also:
      SortedMap.subMap(Object,Object)
    • clone

      public Int2ByteRBTreeMap 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.