Class 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).

    • 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 Detail

      • 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
      • copyOf

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