All Implemented Interfaces:
Externalizable, Serializable, ByteIterable, ByteByteMap, ByteValuesMap, MutableByteByteMap, MutableByteValuesMap, PrimitiveIterable, MutableByteKeysMap, ByteKeysMap

public class ByteByteHashMap extends AbstractMutableByteValuesMap implements MutableByteByteMap, Externalizable, MutableByteKeysMap
This file was automatically generated from template file primitivePrimitiveHashMap.stg.
Since:
3.0.
See Also:
  • Constructor Details

    • ByteByteHashMap

      public ByteByteHashMap()
    • ByteByteHashMap

      public ByteByteHashMap(int initialCapacity)
    • ByteByteHashMap

      public ByteByteHashMap(ByteByteMap map)
  • Method Details

    • newWithKeysValues

      public static ByteByteHashMap newWithKeysValues(byte key1, byte value1)
    • newWithKeysValues

      public static ByteByteHashMap newWithKeysValues(byte key1, byte value1, byte key2, byte value2)
    • newWithKeysValues

      public static ByteByteHashMap newWithKeysValues(byte key1, byte value1, byte key2, byte value2, byte key3, byte value3)
    • newWithKeysValues

      public static ByteByteHashMap newWithKeysValues(byte key1, byte value1, byte key2, byte value2, byte key3, byte value3, byte key4, byte value4)
    • equals

      public boolean equals(Object obj)
      Description copied from interface: ByteByteMap
      Follows the same general contract as Map.equals(Object).
      Specified by:
      equals in interface ByteByteMap
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Description copied from interface: ByteByteMap
      Follows the same general contract as Map.hashCode().
      Specified by:
      hashCode in interface ByteByteMap
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Description copied from interface: PrimitiveIterable
      Returns a string with the elements of this iterable separated by commas with spaces and enclosed in square brackets.
       Assert.assertEquals("[]", IntLists.mutable.empty().toString());
       Assert.assertEquals("[1]", IntLists.mutable.with(1).toString());
       Assert.assertEquals("[1, 2, 3]", IntLists.mutable.with(1, 2, 3).toString());
       
      Specified by:
      toString in interface ByteByteMap
      Specified by:
      toString in interface PrimitiveIterable
      Overrides:
      toString in class AbstractByteIterable
      Returns:
      a string representation of this PrimitiveIterable
      See Also:
    • byteIterator

      public MutableByteIterator byteIterator()
      Description copied from interface: ByteIterable
      Returns a primitive iterator that can be used to iterate over the ByteIterable in an imperative style.
      Specified by:
      byteIterator in interface ByteIterable
      Specified by:
      byteIterator in interface MutableByteValuesMap
    • injectInto

      public <V> V injectInto(V injectedValue, ObjectByteToObjectFunction<? super V,? extends V> function)
      Specified by:
      injectInto in interface ByteIterable
    • clear

      public void clear()
      Description copied from interface: MutableByteValuesMap
      Removes all entries from this map.
      Specified by:
      clear in interface MutableByteKeysMap
      Specified by:
      clear in interface MutableByteValuesMap
    • put

      public void put(byte key, byte value)
      Description copied from interface: MutableByteByteMap
      Associates a value with the specified key. If a value is already associated with the key in this map, it will be replaced with value.
      Specified by:
      put in interface MutableByteByteMap
      Parameters:
      key - the key
      value - the value to associate with value
    • putAll

      public void putAll(ByteByteMap map)
      Description copied from interface: MutableByteByteMap
      Puts all of the key/value mappings from the specified map into this map. If this map already has a value associated with one of the keys in the map, it will be replaced with the value in map.
      Specified by:
      putAll in interface MutableByteByteMap
      Parameters:
      map - the map to copy into this map
    • updateValues

      public void updateValues(ByteByteToByteFunction function)
      Description copied from interface: MutableByteByteMap
      Updates the values in-place.
      Specified by:
      updateValues in interface MutableByteByteMap
      Parameters:
      function - that takes a key and its value and that returns a new value for this key
    • removeKey

      public void removeKey(byte key)
      Description copied from interface: MutableByteByteMap
      Removes the mapping associated with the key, if one exists, from the map.
      Specified by:
      removeKey in interface MutableByteByteMap
      Specified by:
      removeKey in interface MutableByteKeysMap
      Parameters:
      key - the key to remove
      See Also:
    • remove

      public void remove(byte key)
      Description copied from interface: MutableByteByteMap
      Removes the mapping associated with the key, if one exists, from the map.
      Specified by:
      remove in interface MutableByteByteMap
      Parameters:
      key - the key to remove
      See Also:
    • removeKeyIfAbsent

      public byte removeKeyIfAbsent(byte key, byte value)
      Description copied from interface: MutableByteByteMap
      Removes the mapping associated with the key, if one exists, from the map, returning the previously associated value with the key. If no mapping existed for the key, the specified default value is returned.
      Specified by:
      removeKeyIfAbsent in interface MutableByteByteMap
      Parameters:
      key - the key to remove
      value - the default value to return if no mapping for the key exists
      Returns:
      the value previously associated with the key, if one existed, or value if not
    • getIfAbsentPut

      public byte getIfAbsentPut(byte key, byte value)
      Description copied from interface: MutableByteByteMap
      Retrieves the value associated with the key if one exists; if it does not, associates a value with the key.
      Specified by:
      getIfAbsentPut in interface MutableByteByteMap
      Parameters:
      key - the key
      value - the value to associate with key if no such mapping exists
      Returns:
      the value associated with key, if one exists, or value if not
    • getAndPut

      public byte getAndPut(byte key, byte putValue, byte defaultValue)
      Description copied from interface: MutableByteByteMap
      Retrieves the value associated with the key if one exists; associates a putValue with the key.
      Specified by:
      getAndPut in interface MutableByteByteMap
      Parameters:
      key - the key
      putValue - the value to associate with key if no such mapping exists
      defaultValue - the value to return if no mapping associated with key exists
      Returns:
      the value associated with key, if one exists, or defaultValue if not
    • getIfAbsentPut

      public byte getIfAbsentPut(byte key, ByteFunction0 function)
      Description copied from interface: MutableByteByteMap
      Retrieves the value associated with the key if one exists; if it does not, invokes the supplier and associates the result with the key.
      Specified by:
      getIfAbsentPut in interface MutableByteByteMap
      Parameters:
      key - the key
      function - the supplier that provides the value if no mapping exists for key
      Returns:
      the value associated with the key, if one exists, or the result of invoking function if not
    • getIfAbsentPutWith

      public <P> byte getIfAbsentPutWith(byte key, ByteFunction<? super P> function, P parameter)
      Description copied from interface: MutableByteByteMap
      Retrieves the value associated with the key if one exists; if it does not, invokes the value function with the parameter and associates the result with the key.
      Specified by:
      getIfAbsentPutWith in interface MutableByteByteMap
      Type Parameters:
      P - the type of the value function's parameter
      Parameters:
      key - the key
      function - the function that provides the value if no mapping exists. The specified parameter will be passed as the argument to the function.
      parameter - the parameter to provide to function if no value exists for key
      Returns:
      the value associated with the key, if one exists, or the result of invoking function with parameter if not
    • getIfAbsentPutWithKey

      public byte getIfAbsentPutWithKey(byte key, ByteToByteFunction function)
      Description copied from interface: MutableByteByteMap
      Retrieves the value associated with the key if one exists; if it does not, associates the result of invoking the value function with the key.
      Specified by:
      getIfAbsentPutWithKey in interface MutableByteByteMap
      Parameters:
      key - the key
      function - the function that provides the value if no mapping exists. The key will be passed as the argument to the function.
      Returns:
      the value associated with the key, if one exists, or the result of invoking function with key if not
    • addToValue

      public byte addToValue(byte key, byte toBeAdded)
      Description copied from interface: MutableByteByteMap
      Increments and updates the value associated with the key, if a value exists, or sets the value to be the specified value if one does not.
      Specified by:
      addToValue in interface MutableByteByteMap
      Parameters:
      key - the key
      toBeAdded - the amount to increment the existing value, if one exists, or to use as the initial value if one does not
      Returns:
      the value after incrementing toBeAdded to the existing value associated with key or toBeAdded if one does not
    • updateValue

      public byte updateValue(byte key, byte initialValueIfAbsent, ByteToByteFunction function)
      Description copied from interface: MutableByteByteMap
      Updates or sets the value associated with the key by applying the function to the existing value, if one exists, or to the specified initial value if one does not.
      Specified by:
      updateValue in interface MutableByteByteMap
      Parameters:
      key - the key
      initialValueIfAbsent - the initial value to supply to the function if no mapping exists for the key
      function - the function that returns the updated value based on the current value or the initial value, if no value exists
      Returns:
      the new value associated with the key, either as a result of applying function to the value already associated with the key or as a result of applying it to initialValueIfAbsent and associating the result with key
    • withKeyValue

      public ByteByteHashMap withKeyValue(byte key1, byte value1)
      Description copied from interface: MutableByteByteMap
      Associates a value with the specified key. If a value is already associated with the key in this map, it will be replaced with value.
      Specified by:
      withKeyValue in interface MutableByteByteMap
      Parameters:
      key1 - the key
      value1 - the value to associate with value
      Returns:
      this map
      See Also:
    • withKeysValues

      public ByteByteHashMap withKeysValues(byte key1, byte value1, byte key2, byte value2)
    • withKeysValues

      public ByteByteHashMap withKeysValues(byte key1, byte value1, byte key2, byte value2, byte key3, byte value3)
    • withKeysValues

      public ByteByteHashMap withKeysValues(byte key1, byte value1, byte key2, byte value2, byte key3, byte value3, byte key4, byte value4)
    • withoutKey

      public ByteByteHashMap withoutKey(byte key)
      Description copied from interface: MutableByteByteMap
      Removes the mapping associated with the key, if one exists, from this map.
      Specified by:
      withoutKey in interface MutableByteByteMap
      Parameters:
      key - the key to remove
      Returns:
      this map
      See Also:
    • withoutAllKeys

      public ByteByteHashMap withoutAllKeys(ByteIterable keys)
      Description copied from interface: MutableByteByteMap
      Removes the mappings associated with all the keys, if they exist, from this map.
      Specified by:
      withoutAllKeys in interface MutableByteByteMap
      Parameters:
      keys - the keys to remove
      Returns:
      this map
      See Also:
    • asUnmodifiable

      public MutableByteByteMap asUnmodifiable()
      Description copied from interface: MutableByteByteMap
      Returns an unmodifiable view of this map, delegating all read-only operations to this map and throwing an UnsupportedOperationException for all mutating operations. This avoids the overhead of copying the map when calling ByteByteMap.toImmutable() while still providing immutability.
      Specified by:
      asUnmodifiable in interface MutableByteByteMap
      Returns:
      an unmodifiable view of this map
    • asSynchronized

      public MutableByteByteMap asSynchronized()
      Description copied from interface: MutableByteByteMap
      Returns a synchronized view of this map, delegating all operations to this map but ensuring only one caller has access to the map at a time.
      Specified by:
      asSynchronized in interface MutableByteByteMap
      Returns:
      a synchronized view of this map
    • toImmutable

      public ImmutableByteByteMap toImmutable()
      Description copied from interface: ByteByteMap
      Returns a copy of this map that is immutable (if this map is mutable) or itself if it is already immutable.
      Specified by:
      toImmutable in interface ByteByteMap
      Returns:
      an immutable map that is equivalent to this one
    • get

      public byte get(byte key)
      Description copied from interface: ByteByteMap
      Retrieves the value associated with the key. If no mapping exists for the key, the default value (usually 0) is returned.
      Specified by:
      get in interface ByteByteMap
      Parameters:
      key - the key
      Returns:
      the value associated with the key, or the default value if no such mapping exists
    • getIfAbsent

      public byte getIfAbsent(byte key, byte ifAbsent)
      Description copied from interface: ByteByteMap
      Retrieves the value associated with the key, returning the specified default value if no such mapping exists.
      Specified by:
      getIfAbsent in interface ByteByteMap
      Parameters:
      key - the key
      ifAbsent - the default value to return if no mapping exists for key
      Returns:
      the value associated with the key, or ifAbsent if no such mapping exists.
    • getOrThrow

      public byte getOrThrow(byte key)
      Description copied from interface: ByteByteMap
      Retrieves the value associated with the key, throwing an IllegalStateException if no such mapping exists.
      Specified by:
      getOrThrow in interface ByteByteMap
      Parameters:
      key - the key
      Returns:
      the value associated with the key
    • containsKey

      public boolean containsKey(byte key)
      Description copied from interface: ByteByteMap
      Returns whether or not the key is present in the map.
      Specified by:
      containsKey in interface ByteByteMap
      Specified by:
      containsKey in interface ByteKeysMap
      Parameters:
      key - the key
      Returns:
      if a mapping exists in this map for the key
    • forEachKey

      public void forEachKey(ByteProcedure procedure)
      Description copied from interface: ByteByteMap
      Iterates through each key in the map, invoking the procedure for each.
      Specified by:
      forEachKey in interface ByteByteMap
      Specified by:
      forEachKey in interface ByteKeysMap
      Parameters:
      procedure - the procedure to invoke for each key
    • forEachKeyValue

      public void forEachKeyValue(ByteByteProcedure procedure)
      Description copied from interface: ByteByteMap
      Iterates through each key/value pair in the map, invoking the procedure for each.
      Specified by:
      forEachKeyValue in interface ByteByteMap
      Parameters:
      procedure - the procedure to invoke for each key/value pair
    • keysView

      public LazyByteIterable keysView()
      Description copied from interface: ByteByteMap
      Returns a view of the keys in this map. This iterable is backed by the map, so any modifications to the underlying map will be reflected in the keys returned by the iterable.
      Specified by:
      keysView in interface ByteByteMap
      Returns:
      a view of the keys in this map
    • keyValuesView

      public RichIterable<ByteBytePair> keyValuesView()
      Description copied from interface: ByteByteMap
      Returns a view of the key/value pairs in this map. This iterable is backed by the map, so any modifications to the underlying map will be reflected in the pairs returned by the iterable.
      Specified by:
      keyValuesView in interface ByteByteMap
      Returns:
      a view of the keys in this map
    • flipUniqueValues

      public MutableByteByteMap flipUniqueValues()
      Description copied from interface: ByteByteMap
      Return the ByteByteMap that is obtained by flipping the direction of this map and making the associations from value to key.
      Specified by:
      flipUniqueValues in interface ByteByteMap
      Specified by:
      flipUniqueValues in interface MutableByteByteMap
    • select

      public ByteByteHashMap select(ByteBytePredicate predicate)
      Description copied from interface: ByteByteMap
      Return a copy of this map containing only the key/value pairs that match the predicate.
      Specified by:
      select in interface ByteByteMap
      Specified by:
      select in interface MutableByteByteMap
      Parameters:
      predicate - the predicate to determine which key/value pairs in this map should be included in the returned map
      Returns:
      a copy of this map with the matching key/value pairs
    • reject

      public ByteByteHashMap reject(ByteBytePredicate predicate)
      Description copied from interface: ByteByteMap
      Return a copy of this map containing only the key/value pairs that do not match the predicate.
      Specified by:
      reject in interface ByteByteMap
      Specified by:
      reject in interface MutableByteByteMap
      Parameters:
      predicate - the predicate to determine which key/value pairs in this map should be excluded from the returned map
      Returns:
      a copy of this map without the matching key/value pairs
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Specified by:
      writeExternal in interface Externalizable
      Throws:
      IOException
    • readExternal

      public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
      Specified by:
      readExternal in interface Externalizable
      Throws:
      IOException
      ClassNotFoundException
    • compact

      public void compact()
      Rehashes every element in the set into a new backing table of the smallest possible size and eliminating removed sentinels.
    • keySet

      public MutableByteSet keySet()
      Description copied from interface: ByteByteMap
      Returns a set containing all the keys in this map. The set is backed by the map, so any modifications to the returned set will affect this map.
      Specified by:
      keySet in interface ByteByteMap
      Returns:
      a mutable set containing the keys in this map
    • values

      public MutableByteCollection values()
      Description copied from interface: ByteValuesMap
      Returns the values in this map as a separate collection. The returned collection is backed by the map, so any changes made to the returned collection will affect the state of this map.
      Specified by:
      values in interface ByteValuesMap
      Returns:
      the values as a collection backed by this map