Class IntLongHppcOpenHashMap

java.lang.Object
com.almworks.integers.AbstractWritableIntLongMap
com.almworks.integers.wrappers.IntLongHppcOpenHashMap
All Implemented Interfaces:
com.almworks.integers.IntLongIterable, com.almworks.integers.IntLongMap, com.almworks.integers.WritableIntLongMap, Iterable<com.almworks.integers.IntLongIterator>

public class IntLongHppcOpenHashMap extends com.almworks.integers.AbstractWritableIntLongMap
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final com.carrotsearch.hppc.IntLongOpenHashMap
     

    Fields inherited from class com.almworks.integers.AbstractWritableIntLongMap

    myModCount

    Fields inherited from interface com.almworks.integers.IntLongMap

    DEFAULT_VALUE, EMPTY
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    IntLongHppcOpenHashMap(int initialCapacity)
     
    IntLongHppcOpenHashMap(int initialCapacity, float loadFactor)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    long
    addTo(int key, long additionValue)
     
    void
     
    boolean
    containsKey(int key)
     
    createForAdd(int count)
    Creates new hashmap with default load factor
    createForAdd(int count, float loadFactor)
    Creates new hashmap with the specified load factor that is garanteed to not invoke resize after adding count elements
    createFrom(int[] keys, long[] values)
     
    createFrom(com.almworks.integers.IntIterable keys, com.almworks.integers.LongIterable values)
     
    long
    get(int key)
     
    @NotNull com.almworks.integers.IntLongIterator
     
    com.almworks.integers.IntIterator
     
    long
    Returns the last value saved in a call to containsKey(int).
    long
    lset(long value)
    Sets the value corresponding to the key saved in the last call to containsKey(int), if and only if the key exists in the map already.
    int
     
    protected long
    putImpl(int key, long value)
     
    long
    putOrAdd(int key, long putValue, long additionValue)
    Trove-inspired API method.
    boolean
    remove(int key, long value)
     
    protected long
    removeImpl(int key)
     
    int
     
    com.almworks.integers.LongIterator
     

    Methods inherited from class com.almworks.integers.AbstractWritableIntLongMap

    add, containsAnyKeys, containsKeys, equals, hashCode, isEmpty, keySet, modified, put, putAll, putAll, putAll, putAllKeys, putIfAbsent, remove, removeAll, removeAll, toString, toString, toTableString

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Field Details

    • myMap

      protected final com.carrotsearch.hppc.IntLongOpenHashMap myMap
  • Constructor Details

    • IntLongHppcOpenHashMap

      public IntLongHppcOpenHashMap()
    • IntLongHppcOpenHashMap

      public IntLongHppcOpenHashMap(int initialCapacity)
    • IntLongHppcOpenHashMap

      public IntLongHppcOpenHashMap(int initialCapacity, float loadFactor)
  • Method Details

    • createFrom

      public static IntLongHppcOpenHashMap createFrom(com.almworks.integers.IntIterable keys, com.almworks.integers.LongIterable values)
    • createFrom

      public static IntLongHppcOpenHashMap createFrom(int[] keys, long[] values)
    • createForAdd

      public static IntLongHppcOpenHashMap createForAdd(int count, float loadFactor)
      Creates new hashmap with the specified load factor that is garanteed to not invoke resize after adding count elements
      Returns:
      new hashmap with the specified capacity dependent on count and loadFactor
    • createForAdd

      public static IntLongHppcOpenHashMap createForAdd(int count)
      Creates new hashmap with default load factor
      See Also:
    • containsKey

      public boolean containsKey(int key)
    • size

      public int size()
    • iterator

      @NotNull public @NotNull com.almworks.integers.IntLongIterator iterator()
    • keysIterator

      public com.almworks.integers.IntIterator keysIterator()
    • valuesIterator

      public com.almworks.integers.LongIterator valuesIterator()
    • get

      public long get(int key)
    • clear

      public void clear()
    • putImpl

      protected long putImpl(int key, long value)
      Specified by:
      putImpl in class com.almworks.integers.AbstractWritableIntLongMap
    • putOrAdd

      public long putOrAdd(int key, long putValue, long additionValue)
      Trove-inspired API method. An equivalent of the following code:
        if (containsKey(key))
        {
            long v = (long) (lget() + additionValue);
            lset(v);
            return v;
        }
        else
        {
           put(key, putValue);
           return putValue;
        }
       
      Parameters:
      key - The key of the value to adjust.
      putValue - The value to put if key does not exist.
      additionValue - The value to add to the existing value if key exists.
      Returns:
      Returns the current value associated with key (after changes).
    • addTo

      public long addTo(int key, long additionValue)
    • lget

      public long lget()
      Returns the last value saved in a call to containsKey(int).
      See Also:
    • lset

      public long lset(long value)
      Sets the value corresponding to the key saved in the last call to containsKey(int), if and only if the key exists in the map already.
      Returns:
      Returns the previous value stored under the given key.
      See Also:
    • lslot

      public int lslot()
      Returns:
      Returns the slot of the last key looked up in a call to containsKey(int) if it returned true.
      See Also:
    • removeImpl

      protected long removeImpl(int key)
      Specified by:
      removeImpl in class com.almworks.integers.AbstractWritableIntLongMap
    • remove

      public boolean remove(int key, long value)
      Specified by:
      remove in interface com.almworks.integers.WritableIntLongMap
      Overrides:
      remove in class com.almworks.integers.AbstractWritableIntLongMap