Package io.netty.util.collection
Class ByteObjectHashMap<V>
- java.lang.Object
-
- io.netty.util.collection.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 ofByteObjectMap
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 io.netty.util.collection.ByteObjectMap
ByteObjectMap.PrimitiveEntry<V>
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_CAPACITY
Default initial capacity.static float
DEFAULT_LOAD_FACTOR
Default 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 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 bytoString()
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()
-
-
-
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:ByteObjectMap
Gets the value in the map with the specified key.- Specified by:
get
in interfaceByteObjectMap<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 interfaceByteObjectMap<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 interfacejava.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 interfaceByteObjectMap<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 interfacejava.util.Map<java.lang.Byte,V>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfacejava.util.Map<java.lang.Byte,V>
-
clear
public void clear()
- Specified by:
clear
in interfacejava.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 interfaceByteObjectMap<V>
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValue
in interfacejava.util.Map<java.lang.Byte,V>
-
entries
public java.lang.Iterable<ByteObjectMap.PrimitiveEntry<V>> entries()
Description copied from interface:ByteObjectMap
Gets an iterable to traverse over the primitive entries contained in this map. As an optimization, theByteObjectMap.PrimitiveEntry
s returned by theIterator
may change as theIterator
progresses. The caller should not rely onByteObjectMap.PrimitiveEntry
key/value stability.- Specified by:
entries
in interfaceByteObjectMap<V>
-
values
public java.util.Collection<V> values()
- Specified by:
values
in interfacejava.util.Map<java.lang.Byte,V>
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacejava.util.Map<java.lang.Byte,V>
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equals
in interfacejava.util.Map<java.lang.Byte,V>
- Overrides:
equals
in classjava.lang.Object
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKey
in interfacejava.util.Map<java.lang.Byte,V>
-
get
public V get(java.lang.Object key)
- Specified by:
get
in interfacejava.util.Map<java.lang.Byte,V>
-
put
public V put(java.lang.Byte key, V value)
- Specified by:
put
in interfacejava.util.Map<java.lang.Byte,V>
-
remove
public V remove(java.lang.Object key)
- Specified by:
remove
in interfacejava.util.Map<java.lang.Byte,V>
-
keySet
public java.util.Set<java.lang.Byte> keySet()
- Specified by:
keySet
in interfacejava.util.Map<java.lang.Byte,V>
-
entrySet
public java.util.Set<java.util.Map.Entry<java.lang.Byte,V>> entrySet()
- Specified by:
entrySet
in interfacejava.util.Map<java.lang.Byte,V>
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
keyToString
protected java.lang.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.
-
-