Class ImmutableOpenMap<KType,​VType>

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

public final class ImmutableOpenMap<KType,​VType>
extends java.lang.Object
implements java.lang.Iterable<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).

  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  ImmutableOpenMap.Builder<KType,​VType>  
  • Method Summary

    Modifier and Type Method Description
    static <KType,​ VType>
    ImmutableOpenMap.Builder<KType,​VType>
    builder()  
    static <KType,​ VType>
    ImmutableOpenMap.Builder<KType,​VType>
    builder​(int size)  
    static <KType,​ VType>
    ImmutableOpenMap.Builder<KType,​VType>
    builder​(ImmutableOpenMap<KType,​VType> map)  
    boolean containsKey​(KType key)
    Returns true if this container has an association to a value for the given key.
    static <KType,​ VType>
    ImmutableOpenMap<KType,​VType>
    copyOf​(com.carrotsearch.hppc.ObjectObjectMap<KType,​VType> map)  
    boolean equals​(java.lang.Object o)  
    VType get​(KType key)  
    VType getOrDefault​(KType key, VType defaultValue)  
    int hashCode()  
    boolean isEmpty()  
    java.util.Iterator<com.carrotsearch.hppc.cursors.ObjectObjectCursor<KType,​VType>> iterator()
    Returns a cursor over the entries (key-value pairs) in this map.
    com.carrotsearch.hppc.ObjectLookupContainer<KType> keys()
    Returns a specialized view of the keys of this associated container.
    java.util.Iterator<KType> keysIt()
    Returns a direct iterator over the keys.
    static <KType,​ VType>
    ImmutableOpenMap<KType,​VType>
    of()  
    int size()  
    java.lang.String toString()  
    com.carrotsearch.hppc.ObjectContainer<VType> values()  
    java.util.Iterator<VType> valuesIt()
    Returns a direct iterator over the keys.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • 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 java.util.Iterator<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 Iterator.next(). 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:
      iterator in interface java.lang.Iterable<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 java.util.Iterator<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 java.util.Iterator<VType> valuesIt()
      Returns a direct iterator over the keys.
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • equals

      public boolean equals​(java.lang.Object o)
      Overrides:
      equals in class java.lang.Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class java.lang.Object
    • 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)