Class ImmutableOpenMap<KType,​VType>

org.elasticsearch.common.collect.ImmutableOpenMap<KType,​VType>
All Implemented Interfaces:
<com.carrotsearch.hppc.cursors.ObjectObjectCursor<KType,​VType>>

public final class ImmutableOpenMap<KType,​VType> extends implements <com.carrotsearch.hppc.cursors.ObjectObjectCursor<KType,​VType>>
An immutable map implementation based on open hash map.

Can be constructed using a builder(), or using builder(ImmutableOpenMap) (which is an optimized option to copy over existing content and modify it).

  • Method Details

    • get

      public VType get(KType key)
      Returns:
      Returns the value associated with the given key or the default value for the key type, if the key is not associated with any value.

      Important note: For primitive type values, the value returned for a non-existing key may not be the default value of the primitive type (it may be any value previously assigned to that slot).

    • getOrDefault

      public VType getOrDefault(KType key, VType defaultValue)
      Returns:
      Returns the value associated with the given key or the provided default value if the key is not associated with any value.
    • containsKey

      public boolean containsKey(KType key)
      Returns true if this container has an association to a value for the given key.
    • size

      public int size()
      Returns:
      Returns the current size (number of assigned keys) in the container.
    • isEmpty

      public boolean isEmpty()
      Returns:
      Return true if this hash map contains no assigned keys.
    • iterator

      public <com.carrotsearch.hppc.cursors.ObjectObjectCursor<KType,​VType>> iterator()
      Returns a cursor over the entries (key-value pairs) in this map. The iterator is implemented as a cursor and it returns the same cursor instance on every call to . To read the current key and value use the cursor's public fields. An example is shown below.
       for (IntShortCursor c : intShortMap)
       {
           System.out.println("index=" + c.index
             + " key=" + c.key
             + " value=" + c.value);
       }
       

      The index field inside the cursor gives the internal index inside the container's implementation. The interpretation of this index depends on to the container.

      Specified by:
       in interface <KType>
    • keys

      public com.carrotsearch.hppc.ObjectLookupContainer<KType> keys()
      Returns a specialized view of the keys of this associated container. The view additionally implements ObjectLookupContainer.
    • keysIt

      public <KType> keysIt()
      Returns a direct iterator over the keys.
    • values

      public com.carrotsearch.hppc.ObjectContainer<VType> values()
      Returns:
      Returns a container with all values stored in this map.
    • valuesIt

      public <VType> valuesIt()
      Returns a direct iterator over the keys.
    • toString

      public  toString()
      Overrides:
       in class 
    • equals

      public boolean equals( o)
      Overrides:
       in class 
    • hashCode

      public int hashCode()
      Overrides:
       in class 
    • of

      public static <KType,​ VType> ImmutableOpenMap<KType,​VType> of()
    • copyOf

      public static <KType,​ VType> ImmutableOpenMap<KType,​VType> copyOf(com.carrotsearch.hppc.ObjectObjectMap<KType,​VType> map)
      Returns:
      An immutable copy of the given map
    • builder

      public static <KType,​ VType> ImmutableOpenMap.Builder<KType,​VType> builder()
    • builder

      public static <KType,​ VType> ImmutableOpenMap.Builder<KType,​VType> builder(int size)
    • builder

      public static <KType,​ VType> ImmutableOpenMap.Builder<KType,​VType> builder(ImmutableOpenMap<KType,​VType> map)