- java.lang.Object
-
- io.netty5.util.collection.ByteObjectHashMap<V>
-
- Type Parameters:
V- The value type stored in the map.
- All Implemented Interfaces:
ByteObjectMap<V>,Map<Byte,V>
public class ByteObjectHashMap<V> extends Object implements ByteObjectMap<V>
A hash map implementation ofByteObjectMapthat 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 io.netty5.util.collection.ByteObjectMap
ByteObjectMap.PrimitiveEntry<V>
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_CAPACITYDefault initial capacity.static floatDEFAULT_LOAD_FACTORDefault load factor.
-
Constructor Summary
Constructors Constructor Description ByteObjectHashMap()ByteObjectHashMap(int initialCapacity)ByteObjectHashMap(int initialCapacity, float loadFactor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()booleancontainsKey(byte key)Indicates whether or not this map contains a value for the specified key.booleancontainsKey(Object key)booleancontainsValue(Object value)Iterable<ByteObjectMap.PrimitiveEntry<V>>entries()Gets an iterable to traverse over the primitive entries contained in this map.Set<Map.Entry<Byte,V>>entrySet()booleanequals(Object obj)Vget(byte key)Gets the value in the map with the specified key.Vget(Object key)inthashCode()booleanisEmpty()Set<Byte>keySet()protected StringkeyToString(byte key)Helper method called bytoString()in order to convert a single map key into a string.Vput(byte key, V value)Puts the given entry into the map.Vput(Byte key, V value)voidputAll(Map<? extends Byte,? extends V> sourceMap)Vremove(byte key)Removes the entry with the specified key.Vremove(Object key)intsize()StringtoString()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
-
-
Method Detail
-
get
public V get(byte key)
Description copied from interface:ByteObjectMapGets the value in the map with the specified key.- Specified by:
getin interfaceByteObjectMap<V>- Parameters:
key- the key whose associated value is to be returned.- Returns:
- the value or
nullif the key was not found in the map.
-
put
public V put(byte key, V value)
Description copied from interface:ByteObjectMapPuts the given entry into the map.- Specified by:
putin interfaceByteObjectMap<V>- Parameters:
key- the key of the entry.value- the value of the entry.- Returns:
- the previous value for this key or
nullif there was no previous mapping.
-
remove
public V remove(byte key)
Description copied from interface:ByteObjectMapRemoves the entry with the specified key.- Specified by:
removein interfaceByteObjectMap<V>- Parameters:
key- the key for the entry to be removed from this map.- Returns:
- the previous value for the key, or
nullif there was no mapping.
-
containsKey
public boolean containsKey(byte key)
Description copied from interface:ByteObjectMapIndicates whether or not this map contains a value for the specified key.- Specified by:
containsKeyin interfaceByteObjectMap<V>
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValuein interfaceMap<Byte,V>
-
entries
public Iterable<ByteObjectMap.PrimitiveEntry<V>> entries()
Description copied from interface:ByteObjectMapGets an iterable to traverse over the primitive entries contained in this map. As an optimization, theByteObjectMap.PrimitiveEntrys returned by theIteratormay change as theIteratorprogresses. The caller should not rely onByteObjectMap.PrimitiveEntrykey/value stability.- Specified by:
entriesin interfaceByteObjectMap<V>
-
hashCode
public int hashCode()
-
equals
public boolean equals(Object obj)
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKeyin interfaceMap<Byte,V>
-
keyToString
protected String keyToString(byte key)
Helper method called bytoString()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.
-
-