Class ByteObjectHashMap<V>

  • Type Parameters:
    V - The value type stored in the map.
    All Implemented Interfaces:
    ByteObjectMap<V>, java.util.Map<java.lang.Byte,​V>

    public class ByteObjectHashMap<V>
    extends java.lang.Object
    implements ByteObjectMap<V>
    A hash map implementation of ByteObjectMap that uses open addressing for keys. To minimize the memory footprint, this class uses open addressing rather than chaining. Collisions are resolved using linear probing. Deletions implement compaction, so cost of remove can approach O(N) for full maps, which makes a small loadFactor recommended.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface java.util.Map

        java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()  
      boolean containsKey​(byte key)
      Indicates whether or not this map contains a value for the specified key.
      boolean containsKey​(java.lang.Object key)  
      boolean containsValue​(java.lang.Object value)  
      java.lang.Iterable<ByteObjectMap.PrimitiveEntry<V>> entries()
      Gets an iterable to traverse over the primitive entries contained in this map.
      java.util.Set<java.util.Map.Entry<java.lang.Byte,​V>> entrySet()  
      boolean equals​(java.lang.Object obj)  
      V get​(byte key)
      Gets the value in the map with the specified key.
      V get​(java.lang.Object key)  
      int hashCode()  
      boolean isEmpty()  
      java.util.Set<java.lang.Byte> keySet()  
      protected java.lang.String keyToString​(byte key)
      Helper method called by toString() in order to convert a single map key into a string.
      V put​(byte key, V value)
      Puts the given entry into the map.
      V put​(java.lang.Byte key, V value)  
      void putAll​(java.util.Map<? extends java.lang.Byte,​? extends V> sourceMap)  
      V remove​(byte key)
      Removes the entry with the specified key.
      V remove​(java.lang.Object key)  
      int size()  
      java.lang.String toString()  
      java.util.Collection<V> values()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Map

        compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
    • Field Detail

      • DEFAULT_CAPACITY

        public static final int DEFAULT_CAPACITY
        Default initial capacity. Used if not specified in the constructor
        See Also:
        Constant Field Values
      • DEFAULT_LOAD_FACTOR

        public static final float DEFAULT_LOAD_FACTOR
        Default load factor. Used if not specified in the constructor
        See Also:
        Constant Field Values
    • Constructor Detail

      • ByteObjectHashMap

        public ByteObjectHashMap()
      • ByteObjectHashMap

        public ByteObjectHashMap​(int initialCapacity)
      • ByteObjectHashMap

        public ByteObjectHashMap​(int initialCapacity,
                                 float loadFactor)
    • Method Detail

      • get

        public V get​(byte key)
        Description copied from interface: ByteObjectMap
        Gets the value in the map with the specified key.
        Specified by:
        get in interface ByteObjectMap<V>
        Parameters:
        key - the key whose associated value is to be returned.
        Returns:
        the value or null if the key was not found in the map.
      • put

        public V put​(byte key,
                     V value)
        Description copied from interface: ByteObjectMap
        Puts the given entry into the map.
        Specified by:
        put in interface ByteObjectMap<V>
        Parameters:
        key - the key of the entry.
        value - the value of the entry.
        Returns:
        the previous value for this key or null if there was no previous mapping.
      • putAll

        public void putAll​(java.util.Map<? extends java.lang.Byte,​? extends V> sourceMap)
        Specified by:
        putAll in interface java.util.Map<java.lang.Byte,​V>
      • remove

        public V remove​(byte key)
        Description copied from interface: ByteObjectMap
        Removes the entry with the specified key.
        Specified by:
        remove in interface ByteObjectMap<V>
        Parameters:
        key - the key for the entry to be removed from this map.
        Returns:
        the previous value for the key, or null if there was no mapping.
      • size

        public int size()
        Specified by:
        size in interface java.util.Map<java.lang.Byte,​V>
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface java.util.Map<java.lang.Byte,​V>
      • clear

        public void clear()
        Specified by:
        clear in interface java.util.Map<java.lang.Byte,​V>
      • containsKey

        public boolean containsKey​(byte key)
        Description copied from interface: ByteObjectMap
        Indicates whether or not this map contains a value for the specified key.
        Specified by:
        containsKey in interface ByteObjectMap<V>
      • containsValue

        public boolean containsValue​(java.lang.Object value)
        Specified by:
        containsValue in interface java.util.Map<java.lang.Byte,​V>
      • values

        public java.util.Collection<V> values()
        Specified by:
        values in interface java.util.Map<java.lang.Byte,​V>
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface java.util.Map<java.lang.Byte,​V>
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface java.util.Map<java.lang.Byte,​V>
        Overrides:
        equals in class java.lang.Object
      • containsKey

        public boolean containsKey​(java.lang.Object key)
        Specified by:
        containsKey in interface java.util.Map<java.lang.Byte,​V>
      • get

        public V get​(java.lang.Object key)
        Specified by:
        get in interface java.util.Map<java.lang.Byte,​V>
      • put

        public V put​(java.lang.Byte key,
                     V value)
        Specified by:
        put in interface java.util.Map<java.lang.Byte,​V>
      • remove

        public V remove​(java.lang.Object key)
        Specified by:
        remove in interface java.util.Map<java.lang.Byte,​V>
      • keySet

        public java.util.Set<java.lang.Byte> keySet()
        Specified by:
        keySet in interface java.util.Map<java.lang.Byte,​V>
      • entrySet

        public java.util.Set<java.util.Map.Entry<java.lang.Byte,​V>> entrySet()
        Specified by:
        entrySet in interface java.util.Map<java.lang.Byte,​V>
      • toString

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

        protected java.lang.String keyToString​(byte key)
        Helper method called by toString() in order to convert a single map key into a string. This is protected to allow subclasses to override the appearance of a given key.