Class Double2LongRBTreeMap

All Implemented Interfaces:
Double2LongFunction, Double2LongMap, Double2LongSortedMap, Function<java.lang.Double,​java.lang.Long>, java.io.Serializable, java.lang.Cloneable, java.util.function.DoubleToLongFunction, java.util.function.Function<java.lang.Double,​java.lang.Long>, java.util.Map<java.lang.Double,​java.lang.Long>, java.util.SortedMap<java.lang.Double,​java.lang.Long>

public class Double2LongRBTreeMap
extends AbstractDouble2LongSortedMap
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

    • Double2LongRBTreeMap

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

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

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

      public Double2LongRBTreeMap​(java.util.SortedMap<java.lang.Double,​java.lang.Long> 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.
    • Double2LongRBTreeMap

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

      public Double2LongRBTreeMap​(Double2LongSortedMap 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.
    • Double2LongRBTreeMap

      public Double2LongRBTreeMap​(double[] k, long[] v, java.util.Comparator<? super java.lang.Double> 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.
    • Double2LongRBTreeMap

      public Double2LongRBTreeMap​(double[] k, long[] 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 long addTo​(double k, long 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 long put​(double k, long v)
      Description copied from interface: Double2LongFunction
      Adds a pair to the map (optional operation).
      Specified by:
      put in interface Double2LongFunction
      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 long remove​(double k)
      Description copied from interface: Double2LongFunction
      Removes the mapping with the given key (optional operation).
      Specified by:
      remove in interface Double2LongFunction
      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​(long v)
      Description copied from class: AbstractDouble2LongMap
      Returns true if this map maps one or more keys to the specified value.
      Specified by:
      containsValue in interface Double2LongMap
      Overrides:
      containsValue in class AbstractDouble2LongMap
      See Also:
      Map.containsValue(Object)
    • clear

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

      public boolean containsKey​(double k)
      Description copied from class: AbstractDouble2LongMap
      Returns true if this function contains a mapping for the specified key.
      Specified by:
      containsKey in interface Double2LongFunction
      Specified by:
      containsKey in interface Double2LongMap
      Overrides:
      containsKey in class AbstractDouble2LongMap
      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: Double2LongMap
      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 Double2LongMap
      Specified by:
      size in interface Function<java.lang.Double,​java.lang.Long>
      Specified by:
      size in interface java.util.Map<java.lang.Double,​java.lang.Long>
      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.Double,​java.lang.Long>
      Overrides:
      isEmpty in class AbstractDouble2LongMap
    • get

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

      public double firstDoubleKey()
      Description copied from interface: Double2LongSortedMap
      Returns the first (lowest) key currently in this map.
      Specified by:
      firstDoubleKey in interface Double2LongSortedMap
      See Also:
      SortedMap.firstKey()
    • lastDoubleKey

      public double lastDoubleKey()
      Description copied from interface: Double2LongSortedMap
      Returns the last (highest) key currently in this map.
      Specified by:
      lastDoubleKey in interface Double2LongSortedMap
      See Also:
      SortedMap.lastKey()
    • double2LongEntrySet

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

      public DoubleSortedSet 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 Double2LongMap
      Specified by:
      keySet in interface Double2LongSortedMap
      Specified by:
      keySet in interface java.util.Map<java.lang.Double,​java.lang.Long>
      Specified by:
      keySet in interface java.util.SortedMap<java.lang.Double,​java.lang.Long>
      Overrides:
      keySet in class AbstractDouble2LongSortedMap
      Returns:
      a type-specific sorted set view of the keys contained in this map.
      See Also:
      Map.keySet()
    • values

      public LongCollection 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 Double2LongMap
      Specified by:
      values in interface Double2LongSortedMap
      Specified by:
      values in interface java.util.Map<java.lang.Double,​java.lang.Long>
      Specified by:
      values in interface java.util.SortedMap<java.lang.Double,​java.lang.Long>
      Overrides:
      values in class AbstractDouble2LongSortedMap
      Returns:
      a type-specific collection view of the values contained in this map.
      See Also:
      Map.values()
    • comparator

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

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

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

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

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