Class Long2DoubleAVLTreeMap

  • All Implemented Interfaces:
    Function<java.lang.Long,​java.lang.Double>, Long2DoubleFunction, Long2DoubleMap, Long2DoubleSortedMap, java.io.Serializable, java.lang.Cloneable, java.util.function.Function<java.lang.Long,​java.lang.Double>, java.util.function.LongToDoubleFunction, java.util.Map<java.lang.Long,​java.lang.Double>, java.util.SortedMap<java.lang.Long,​java.lang.Double>

    public class Long2DoubleAVLTreeMap
    extends AbstractLong2DoubleSortedMap
    implements java.io.Serializable, java.lang.Cloneable
    A type-specific AVL 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

      • Long2DoubleAVLTreeMap

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

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

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

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

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

        public Long2DoubleAVLTreeMap​(Long2DoubleSortedMap 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.
      • Long2DoubleAVLTreeMap

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

        public Long2DoubleAVLTreeMap​(long[] k,
                                     double[] 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 double addTo​(long k,
                            double 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: Long2DoubleMap
        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.Long,​java.lang.Double>
        Specified by:
        clear in interface Long2DoubleMap
        Specified by:
        clear in interface java.util.Map<java.lang.Long,​java.lang.Double>
        See Also:
        Map.clear()
      • size

        public int size()
        Description copied from interface: Long2DoubleMap
        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.Long,​java.lang.Double>
        Specified by:
        size in interface Long2DoubleMap
        Specified by:
        size in interface java.util.Map<java.lang.Long,​java.lang.Double>
        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.Long,​java.lang.Double>
        Overrides:
        isEmpty in class AbstractLong2DoubleMap
      • keySet

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

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

        public LongComparator comparator()
        Description copied from interface: Long2DoubleSortedMap
        Returns the comparator associated with this sorted set, or null if it uses its keys' natural ordering.

        Note that this specification strengthens the one given in SortedMap.comparator().

        Specified by:
        comparator in interface Long2DoubleSortedMap
        Specified by:
        comparator in interface java.util.SortedMap<java.lang.Long,​java.lang.Double>
        See Also:
        SortedMap.comparator()
      • headMap

        public Long2DoubleSortedMap headMap​(long to)
        Description copied from interface: Long2DoubleSortedMap
        Returns a view of the portion of this sorted map whose keys are strictly less than toKey.

        Note that this specification strengthens the one given in SortedMap.headMap(Object).

        Specified by:
        headMap in interface Long2DoubleSortedMap
        See Also:
        SortedMap.headMap(Object)
      • tailMap

        public Long2DoubleSortedMap tailMap​(long from)
        Description copied from interface: Long2DoubleSortedMap
        Returns a view of the portion of this sorted map whose keys are greater than or equal to fromKey.

        Note that this specification strengthens the one given in SortedMap.tailMap(Object).

        Specified by:
        tailMap in interface Long2DoubleSortedMap
        See Also:
        SortedMap.tailMap(Object)
      • subMap

        public Long2DoubleSortedMap subMap​(long from,
                                           long to)
        Description copied from interface: Long2DoubleSortedMap
        Returns a view of the portion of this sorted map whose keys range from fromKey, inclusive, to toKey, exclusive.

        Note that this specification strengthens the one given in SortedMap.subMap(Object,Object).

        Specified by:
        subMap in interface Long2DoubleSortedMap
        See Also:
        SortedMap.subMap(Object,Object)
      • clone

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