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 Detail

      • 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 Detail

      • 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.
      • 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()
      • 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
      • 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()
      • 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.