Class Long2IntAVLTreeMap

All Implemented Interfaces:
Function<java.lang.Long,​java.lang.Integer>, Long2IntFunction, Long2IntMap, Long2IntSortedMap, java.io.Serializable, java.lang.Cloneable, java.util.function.Function<java.lang.Long,​java.lang.Integer>, java.util.function.LongToIntFunction, java.util.Map<java.lang.Long,​java.lang.Integer>, java.util.SortedMap<java.lang.Long,​java.lang.Integer>

public class Long2IntAVLTreeMap
extends AbstractLong2IntSortedMap
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 Details

    • Long2IntAVLTreeMap

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

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

      public Long2IntAVLTreeMap​(java.util.Map<? extends java.lang.Long,​? 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.
    • Long2IntAVLTreeMap

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

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

      public Long2IntAVLTreeMap​(Long2IntSortedMap 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.
    • Long2IntAVLTreeMap

      public Long2IntAVLTreeMap​(long[] k, int[] 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.
    • Long2IntAVLTreeMap

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

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

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

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

      public long firstLongKey()
      Description copied from interface: Long2IntSortedMap
      Returns the first (lowest) key currently in this map.
      Specified by:
      firstLongKey in interface Long2IntSortedMap
      See Also:
      SortedMap.firstKey()
    • lastLongKey

      public long lastLongKey()
      Description copied from interface: Long2IntSortedMap
      Returns the last (highest) key currently in this map.
      Specified by:
      lastLongKey in interface Long2IntSortedMap
      See Also:
      SortedMap.lastKey()
    • long2IntEntrySet

      public ObjectSortedSet<Long2IntMap.Entry> long2IntEntrySet()
      Description copied from interface: Long2IntSortedMap
      Returns a type-specific sorted-set view of the mappings contained in this map.
      Specified by:
      long2IntEntrySet in interface Long2IntMap
      Specified by:
      long2IntEntrySet in interface Long2IntSortedMap
      Returns:
      a type-specific sorted-set view of the mappings contained in this map.
      See Also:
      Long2IntSortedMap.entrySet()
    • 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 Long2IntMap
      Specified by:
      keySet in interface Long2IntSortedMap
      Specified by:
      keySet in interface java.util.Map<java.lang.Long,​java.lang.Integer>
      Specified by:
      keySet in interface java.util.SortedMap<java.lang.Long,​java.lang.Integer>
      Overrides:
      keySet in class AbstractLong2IntSortedMap
      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 Long2IntMap
      Specified by:
      values in interface Long2IntSortedMap
      Specified by:
      values in interface java.util.Map<java.lang.Long,​java.lang.Integer>
      Specified by:
      values in interface java.util.SortedMap<java.lang.Long,​java.lang.Integer>
      Overrides:
      values in class AbstractLong2IntSortedMap
      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: Long2IntSortedMap
      Returns the comparator associated with this sorted set, or null if it uses its keys' natural ordering.
      Specified by:
      comparator in interface Long2IntSortedMap
      Specified by:
      comparator in interface java.util.SortedMap<java.lang.Long,​java.lang.Integer>
      See Also:
      SortedMap.comparator()
    • headMap

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

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

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

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