K
- type of keys stored in the Map
public class Object2IntHashMap<K> extends Object implements Map<K,Integer>, Serializable
Map
implementation specialised for int values using open addressing and
linear probing for cache efficient access. The implementation is mirror copy of Int2ObjectHashMap
and it also relies on missing value concept from Int2IntHashMap
Modifier and Type | Class and Description |
---|---|
class |
Object2IntHashMap.EntryIterator
Iterator over entries which can provide unboxed access and optionally avoid allocation.
|
class |
Object2IntHashMap.EntrySet
Set of entries which can optionally cache iterators to avoid allocation.
|
class |
Object2IntHashMap.KeyIterator
Iterator over keys.
|
class |
Object2IntHashMap.KeySet
Set of keys that can optionally cache iterators to avoid allocation.
|
class |
Object2IntHashMap.ValueCollection
Collection of values which can optionally cache iterators to avoid allocation.
|
class |
Object2IntHashMap.ValueIterator
Iterator over values providing unboxed access via
Object2IntHashMap.ValueIterator.nextInt() . |
Constructor and Description |
---|
Object2IntHashMap(int missingValue)
Construct a map with default capacity and load factor.
|
Object2IntHashMap(int initialCapacity,
float loadFactor,
int missingValue)
Construct a new map allowing a configuration for initial capacity and load factor.
|
Object2IntHashMap(int initialCapacity,
float loadFactor,
int missingValue,
boolean shouldAvoidAllocation)
Construct a new map allowing a configuration for initial capacity and load factor.
|
Object2IntHashMap(Object2IntHashMap<K> mapToCopy)
Copy construct a new map from an existing one.
|
Modifier and Type | Method and Description |
---|---|
int |
capacity()
Get the total capacity for the map to which the load factor will be a fraction of.
|
void |
clear() |
void |
compact()
Compact the
Map backing arrays by rehashing with a capacity just larger than current size
and giving consideration to the load factor. |
int |
computeIfAbsent(K key,
ToIntFunction<? super K> mappingFunction)
Get a value for a given key, or if it does not exist then default the value via a
IntFunction and put it in the map. |
boolean |
containsKey(Object key)
Overloaded version of
Map.containsKey(Object) that takes a primitive int key. |
boolean |
containsValue(int value)
Overloaded version to avoid boxing.
|
boolean |
containsValue(Object value) |
Object2IntHashMap.EntrySet |
entrySet() |
boolean |
equals(Object o) |
Integer |
get(Object key) |
int |
getValue(K key)
Overloaded version of
Map.get(Object) that takes a primitive int key. |
int |
hashCode() |
boolean |
isEmpty() |
Object2IntHashMap.KeySet |
keySet() |
float |
loadFactor()
Get the load factor beyond which the map will increase size.
|
int |
missingValue()
The value to be used as a null marker in the map.
|
int |
put(K key,
int value)
Overloaded version of
Map.put(Object, Object) that takes a primitive int key. |
Integer |
put(K key,
Integer value) |
void |
putAll(Map<? extends K,? extends Integer> map) |
Integer |
remove(Object key) |
int |
removeKey(K key)
Overloaded version of
Map.remove(Object) that takes a key and returns a primitive int value. |
int |
replace(K key,
int value)
Primitive specialised version of
Map.replace(Object, Object) |
boolean |
replace(K key,
int oldValue,
int newValue)
Primitive specialised version of
Map.replace(Object, Object, Object) |
int |
resizeThreshold()
Get the actual threshold which when reached the map will resize.
|
int |
size() |
String |
toString() |
Object2IntHashMap.ValueCollection |
values() |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
public Object2IntHashMap(int missingValue)
missingValue
- value to be used as a null maker in the mappublic Object2IntHashMap(int initialCapacity, float loadFactor, int missingValue)
initialCapacity
- for the backing arrayloadFactor
- limit for resizing on putsmissingValue
- value to be used as a null marker in the mappublic Object2IntHashMap(int initialCapacity, float loadFactor, int missingValue, boolean shouldAvoidAllocation)
initialCapacity
- for the backing arrayloadFactor
- limit for resizing on putsmissingValue
- value to be used as a null marker in the mapshouldAvoidAllocation
- should allocation be avoided by caching iterators and map entries.public Object2IntHashMap(Object2IntHashMap<K> mapToCopy)
mapToCopy
- for construction.public int missingValue()
public float loadFactor()
public int capacity()
public int resizeThreshold()
public boolean containsKey(Object key)
Map.containsKey(Object)
that takes a primitive int key.containsKey
in interface Map<K,Integer>
key
- for indexing the Map
public boolean containsValue(Object value)
containsValue
in interface Map<K,Integer>
public boolean containsValue(int value)
value
- to check.public int getValue(K key)
Map.get(Object)
that takes a primitive int key.
Due to type erasure have to rename the methodkey
- for indexing the Map
public int computeIfAbsent(K key, ToIntFunction<? super K> mappingFunction)
IntFunction
and put it in the map.
Primitive specialized version of Map.computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>)
.
key
- to search on.mappingFunction
- to provide a value if the get returns missingValue.public int put(K key, int value)
Map.put(Object, Object)
that takes a primitive int key.public int removeKey(K key)
Map.remove(Object)
that takes a key and returns a primitive int value.
Due to type erasure have to rename the methodkey
- for indexing the Map
public void compact()
Map
backing arrays by rehashing with a capacity just larger than current size
and giving consideration to the load factor.public Object2IntHashMap.KeySet keySet()
public Object2IntHashMap.ValueCollection values()
public Object2IntHashMap.EntrySet entrySet()
public boolean equals(Object o)
public int hashCode()
public int replace(K key, int value)
Map.replace(Object, Object)
key
- key with which the specified value is associatedvalue
- value to be associated with the specified keynull
if there was no mapping for the key.public boolean replace(K key, int oldValue, int newValue)
Map.replace(Object, Object, Object)
key
- key with which the specified value is associatedoldValue
- value expected to be associated with the specified keynewValue
- value to be associated with the specified keytrue
if the value was replacedCopyright © 2014-2021 Real Logic Limited. All Rights Reserved.