Class Object2ReferenceAVLTreeMap<K,​V>

All Implemented Interfaces:
it.unimi.dsi.fastutil.Function<K,​V>, it.unimi.dsi.fastutil.objects.Object2ReferenceFunction<K,​V>, Object2ReferenceMap<K,​V>, Object2ReferenceSortedMap<K,​V>, java.io.Serializable, java.lang.Cloneable, java.util.function.Function<K,​V>, java.util.Map<K,​V>, java.util.SortedMap<K,​V>

public class Object2ReferenceAVLTreeMap<K,​V>
extends AbstractObject2ReferenceSortedMap<K,​V>
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

    • Object2ReferenceAVLTreeMap

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

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

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

      public Object2ReferenceAVLTreeMap​(java.util.SortedMap<K,​V> 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.
    • Object2ReferenceAVLTreeMap

      public Object2ReferenceAVLTreeMap​(Object2ReferenceMap<? extends K,​? extends V> m)
      Creates a new tree map copying a given map.
      Parameters:
      m - a type-specific map to be copied into the new tree map.
    • Object2ReferenceAVLTreeMap

      public Object2ReferenceAVLTreeMap​(Object2ReferenceSortedMap<K,​V> 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.
    • Object2ReferenceAVLTreeMap

      public Object2ReferenceAVLTreeMap​(K[] k, V[] v, java.util.Comparator<? super K> 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.
    • Object2ReferenceAVLTreeMap

      public Object2ReferenceAVLTreeMap​(K[] k, V[] 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

    • put

      public V put​(K k, V v)
      Description copied from interface: Object2ReferenceMap

      This default implementation just delegates to the corresponding function method.

      Specified by:
      put in interface it.unimi.dsi.fastutil.Function<K,​V>
      Specified by:
      put in interface java.util.Map<K,​V>
      Specified by:
      put in interface it.unimi.dsi.fastutil.objects.Object2ReferenceFunction<K,​V>
      Specified by:
      put in interface Object2ReferenceMap<K,​V>
    • remove

      public V remove​(java.lang.Object k)
      Description copied from interface: Object2ReferenceMap

      This default implementation just delegates to the corresponding type-specific–function method.

      Specified by:
      remove in interface it.unimi.dsi.fastutil.Function<K,​V>
      Specified by:
      remove in interface java.util.Map<K,​V>
      Specified by:
      remove in interface it.unimi.dsi.fastutil.objects.Object2ReferenceFunction<K,​V>
      Specified by:
      remove in interface Object2ReferenceMap<K,​V>
    • containsValue

      public boolean containsValue​(java.lang.Object v)
      Description copied from class: AbstractObject2ReferenceMap
      Specified by:
      containsValue in interface java.util.Map<K,​V>
      Overrides:
      containsValue in class AbstractObject2ReferenceMap<K,​V>
    • clear

      public void clear()
      Description copied from interface: Object2ReferenceMap
      Removes all of the mappings from this map (optional operation). The map will be empty after this call returns.
      Specified by:
      clear in interface it.unimi.dsi.fastutil.Function<K,​V>
      Specified by:
      clear in interface java.util.Map<K,​V>
      Specified by:
      clear in interface Object2ReferenceMap<K,​V>
    • containsKey

      public boolean containsKey​(java.lang.Object k)
      Description copied from class: AbstractObject2ReferenceMap
      Returns true if this function contains a mapping for the specified key.
      Specified by:
      containsKey in interface it.unimi.dsi.fastutil.Function<K,​V>
      Specified by:
      containsKey in interface java.util.Map<K,​V>
      Specified by:
      containsKey in interface Object2ReferenceMap<K,​V>
      Overrides:
      containsKey in class AbstractObject2ReferenceMap<K,​V>
      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: Object2ReferenceMap
      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 it.unimi.dsi.fastutil.Function<K,​V>
      Specified by:
      size in interface java.util.Map<K,​V>
      Specified by:
      size in interface Object2ReferenceMap<K,​V>
      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<K,​V>
      Overrides:
      isEmpty in class AbstractObject2ReferenceMap<K,​V>
    • get

      public V get​(java.lang.Object k)
      Specified by:
      get in interface it.unimi.dsi.fastutil.Function<K,​V>
      Specified by:
      get in interface java.util.Map<K,​V>
      Specified by:
      get in interface it.unimi.dsi.fastutil.objects.Object2ReferenceFunction<K,​V>
    • firstKey

      public K firstKey()
      Specified by:
      firstKey in interface java.util.SortedMap<K,​V>
    • lastKey

      public K lastKey()
      Specified by:
      lastKey in interface java.util.SortedMap<K,​V>
    • object2ReferenceEntrySet

      public it.unimi.dsi.fastutil.objects.ObjectSortedSet<Object2ReferenceMap.Entry<K,​V>> object2ReferenceEntrySet()
      Description copied from interface: Object2ReferenceSortedMap
      Returns a type-specific sorted-set view of the mappings contained in this map.
      Specified by:
      object2ReferenceEntrySet in interface Object2ReferenceMap<K,​V>
      Specified by:
      object2ReferenceEntrySet in interface Object2ReferenceSortedMap<K,​V>
      Returns:
      a type-specific sorted-set view of the mappings contained in this map.
      See Also:
      Object2ReferenceSortedMap.entrySet()
    • keySet

      public it.unimi.dsi.fastutil.objects.ObjectSortedSet<K> 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 java.util.Map<K,​V>
      Specified by:
      keySet in interface Object2ReferenceMap<K,​V>
      Specified by:
      keySet in interface Object2ReferenceSortedMap<K,​V>
      Specified by:
      keySet in interface java.util.SortedMap<K,​V>
      Overrides:
      keySet in class AbstractObject2ReferenceSortedMap<K,​V>
      Returns:
      a type-specific sorted set view of the keys contained in this map.
      See Also:
      Map.keySet()
    • values

      public ReferenceCollection<V> 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 java.util.Map<K,​V>
      Specified by:
      values in interface Object2ReferenceMap<K,​V>
      Specified by:
      values in interface Object2ReferenceSortedMap<K,​V>
      Specified by:
      values in interface java.util.SortedMap<K,​V>
      Overrides:
      values in class AbstractObject2ReferenceSortedMap<K,​V>
      Returns:
      a type-specific collection view of the values contained in this map.
      See Also:
      Map.values()
    • comparator

      public java.util.Comparator<? super K> comparator()
      Description copied from interface: Object2ReferenceSortedMap
      Returns the comparator associated with this sorted set, or null if it uses its keys' natural ordering.
      Specified by:
      comparator in interface Object2ReferenceSortedMap<K,​V>
      Specified by:
      comparator in interface java.util.SortedMap<K,​V>
      See Also:
      SortedMap.comparator()
    • headMap

      public Object2ReferenceSortedMap<K,​V> headMap​(K to)
      Description copied from interface: Object2ReferenceSortedMap
      Returns a view of the portion of this sorted map whose keys are strictly less than toKey.
      Specified by:
      headMap in interface Object2ReferenceSortedMap<K,​V>
      Specified by:
      headMap in interface java.util.SortedMap<K,​V>
      See Also:
      SortedMap.headMap(Object)
    • tailMap

      public Object2ReferenceSortedMap<K,​V> tailMap​(K from)
      Description copied from interface: Object2ReferenceSortedMap
      Returns a view of the portion of this sorted map whose keys are greater than or equal to fromKey.
      Specified by:
      tailMap in interface Object2ReferenceSortedMap<K,​V>
      Specified by:
      tailMap in interface java.util.SortedMap<K,​V>
      See Also:
      SortedMap.tailMap(Object)
    • subMap

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

      public Object2ReferenceAVLTreeMap<K,​V> 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.