Class IntByteHashMap
- java.lang.Object
-
- org.eclipse.collections.impl.primitive.AbstractByteIterable
-
- org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableByteValuesMap
-
- org.eclipse.collections.impl.map.mutable.primitive.IntByteHashMap
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,ByteIterable,ByteValuesMap,IntByteMap,MutableByteValuesMap,MutableIntByteMap,PrimitiveIterable,MutableIntKeysMap,IntKeysMap
public class IntByteHashMap extends AbstractMutableByteValuesMap implements MutableIntByteMap, java.io.Externalizable, MutableIntKeysMap
This file was automatically generated from template file primitivePrimitiveHashMap.stg.- Since:
- 3.0.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classIntByteHashMap.InternalByteIteratorprivate classIntByteHashMap.KeySetprivate classIntByteHashMap.KeySetIteratorprivate classIntByteHashMap.KeysViewprivate classIntByteHashMap.KeyValuesViewprivate classIntByteHashMap.ValuesCollection-
Nested classes/interfaces inherited from class org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableByteValuesMap
AbstractMutableByteValuesMap.AbstractByteValuesCollection, AbstractMutableByteValuesMap.SentinelValues
-
-
Field Summary
Fields Modifier and Type Field Description private static intCACHE_LINE_SIZEprivate booleancopyKeysOnWriteprivate static intDEFAULT_INITIAL_CAPACITYprivate static intEMPTY_KEYprivate static byteEMPTY_VALUEprivate static intINITIAL_LINEAR_PROBEprivate static intKEY_SIZEprivate int[]keysprivate intoccupiedWithDataprivate intoccupiedWithSentinelsprivate static intREMOVED_KEYprivate AbstractMutableByteValuesMap.SentinelValuessentinelValuesprivate static longserialVersionUIDprivate byte[]values
-
Constructor Summary
Constructors Constructor Description IntByteHashMap()IntByteHashMap(int initialCapacity)IntByteHashMap(IntByteMap map)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private voidaddKeyValueAtIndex(int key, byte value, int index)byteaddToValue(int key, byte toBeAdded)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.protected voidallocateTable(int sizeToAllocate)booleanallSatisfyKeyValue(IntBytePredicate predicate)MutableIntByteMapasSynchronized()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.MutableIntByteMapasUnmodifiable()Returns an unmodifiable view of this map, delegating all read-only operations to this map and throwing anUnsupportedOperationExceptionfor all mutating operations.MutableByteIteratorbyteIterator()Returns a primitive iterator that can be used to iterate over the ByteIterable in an imperative style.voidclear()Removes all entries from this map.voidcompact()Deprecated.since 12.0 - UsetrimToSize()insteadbooleancontainsKey(int key)Returns whether or not the key is present in the map.private voidcopyKeys()booleanequals(java.lang.Object obj)Follows the same general contract asMap.equals(Object).private bytefastGetIfAbsent(int key, byte ifAbsent)MutableByteIntMapflipUniqueValues()Return the ByteIntMap that is obtained by flipping the direction of this map and making the associations from value to key.voidforEachKey(IntProcedure procedure)Iterates through each key in the map, invoking the procedure for each.voidforEachKeyValue(IntByteProcedure procedure)Iterates through each key/value pair in the map, invoking the procedure for each.byteget(int key)Retrieves the value associated with the key.bytegetAndPut(int key, byte putValue, byte defaultValue)Retrieves the value associated with the key if one exists; associates a putValue with the key.protected bytegetEmptyValue()private bytegetForSentinel(int key, byte ifAbsent)bytegetIfAbsent(int key, byte ifAbsent)Retrieves the value associated with the key, returning the specified default value if no such mapping exists.bytegetIfAbsentPut(int key, byte value)Retrieves the value associated with the key if one exists; if it does not, associates a value with the key.bytegetIfAbsentPut(int key, ByteFunction0 function)Retrieves the value associated with the key if one exists; if it does not, invokes the supplier and associates the result with the key.<P> bytegetIfAbsentPutWith(int key, ByteFunction<? super P> function, P parameter)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.bytegetIfAbsentPutWithKey(int key, IntToByteFunction function)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.protected intgetOccupiedWithData()bytegetOrThrow(int key)Retrieves the value associated with the key, throwing anIllegalStateExceptionif no such mapping exists.protected AbstractMutableByteValuesMap.SentinelValuesgetSentinelValues()protected intgetTableSize()protected bytegetValueAtIndex(int index)inthashCode()Follows the same general contract asMap.hashCode().<V> VinjectInto(V injectedValue, ObjectByteToObjectFunction<? super V,? extends V> function)private static booleanisEmptyKey(int key)private static booleanisNonSentinel(int key)protected booleanisNonSentinelAtIndex(int index)private static booleanisRemovedKey(int key)MutableIntSetkeySet()Returns a set containing all the keys in this map.LazyIntIterablekeysView()Returns a view of the keys in this map.RichIterable<IntBytePair>keyValuesView()Returns a view of the key/value pairs in this map.private intmask(int spread)private intmaxOccupiedWithData()static IntByteHashMapnewWithKeysValues(int key1, byte value1)static IntByteHashMapnewWithKeysValues(int key1, byte value1, int key2, byte value2)static IntByteHashMapnewWithKeysValues(int key1, byte value1, int key2, byte value2, int key3, byte value3)static IntByteHashMapnewWithKeysValues(int key1, byte value1, int key2, byte value2, int key3, byte value3, int key4, byte value4)(package private) intprobe(int element)(package private) intprobeThree(int element, int removedIndex)(package private) intprobeTwo(int element, int removedIndex)voidput(int key, byte value)Associates a value with the specified key.voidputAll(IntByteMap map)Puts all of the key/value mappings from the specified map into this map.private voidputForEmptySentinel(byte value)private voidputForRemovedSentinel(byte value)voidreadExternal(java.io.ObjectInput in)private voidrehash(int newCapacity)private voidrehashAndGrow()IntByteHashMapreject(IntBytePredicate predicate)Return a copy of this map containing only the key/value pairs that do not match the predicate.voidremove(int key)Removes the mapping associated with the key, if one exists, from the map.voidremoveKey(int key)Removes the mapping associated with the key, if one exists, from the map.private voidremoveKeyAtIndex(int index)byteremoveKeyIfAbsent(int key, byte value)Removes the mapping associated with the key, if one exists, from the map, returning the previously associated value with the key.IntByteHashMapselect(IntBytePredicate predicate)Return a copy of this map containing only the key/value pairs that match the predicate.protected voidsetSentinelValuesNull()private byteslowGetIfAbsent(int key, byte ifAbsent)private byteslowGetIfAbsentTwo(int key, byte ifAbsent)private intsmallestPowerOfTwoGreaterThan(int n)(package private) intspreadAndMask(int element)(package private) intspreadTwoAndMask(int element)ImmutableIntByteMaptoImmutable()Returns a copy of this map that is immutable (if this map is mutable) or itself if it is already immutable.java.lang.StringtoString()Returns a string with the elements of this iterable separated by commas with spaces and enclosed in square brackets.booleantrimToSize()byteupdateValue(int key, byte initialValueIfAbsent, ByteToByteFunction function)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.voidupdateValues(IntByteToByteFunction function)Updates the values in-place.MutableByteCollectionvalues()Returns the values in this map as a separate collection.IntByteHashMapwithKeysValues(int key1, byte value1, int key2, byte value2)IntByteHashMapwithKeysValues(int key1, byte value1, int key2, byte value2, int key3, byte value3)IntByteHashMapwithKeysValues(int key1, byte value1, int key2, byte value2, int key3, byte value3, int key4, byte value4)IntByteHashMapwithKeyValue(int key1, byte value1)Associates a value with the specified key.IntByteHashMapwithoutAllKeys(IntIterable keys)Removes the mappings associated with all the keys, if they exist, from this map.IntByteHashMapwithoutKey(int key)Removes the mapping associated with the key, if one exists, from this map.voidwriteExternal(java.io.ObjectOutput out)-
Methods inherited from class org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableByteValuesMap
addEmptyKeyValue, addRemovedKeyValue, allSatisfy, anySatisfy, appendString, chunk, collect, contains, containsAll, containsValue, count, detectIfNone, each, forEachValue, isEmpty, max, min, notEmpty, reject, removeEmptyKey, removeRemovedKey, select, size, sum, toArray, toArray
-
Methods inherited from class org.eclipse.collections.impl.primitive.AbstractByteIterable
asLazy, average, maxIfEmpty, median, minIfEmpty, toBag, toList, toSet, toSortedArray, toSortedList
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.collections.api.ByteIterable
allSatisfy, anySatisfy, asLazy, average, averageIfEmpty, chunk, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectInt, collectLong, collectShort, contains, containsAll, containsAll, containsAny, containsAny, containsNone, containsNone, count, detectIfNone, each, flatCollect, forEach, injectIntoBoolean, injectIntoByte, injectIntoChar, injectIntoDouble, injectIntoFloat, injectIntoInt, injectIntoLong, injectIntoShort, max, maxIfEmpty, median, medianIfEmpty, min, minIfEmpty, noneSatisfy, reduce, reduceIfEmpty, reject, select, sum, summaryStatistics, toArray, toArray, toBag, toList, toSet, toSortedArray, toSortedList, toSortedList, toSortedListBy, toSortedListBy
-
Methods inherited from interface org.eclipse.collections.api.map.primitive.ByteValuesMap
containsValue, forEachValue, tap
-
Methods inherited from interface org.eclipse.collections.api.map.primitive.IntByteMap
injectIntoKeyValue
-
Methods inherited from interface org.eclipse.collections.impl.map.primitive.IntKeysMap
isEmpty, notEmpty, size
-
Methods inherited from interface org.eclipse.collections.api.map.primitive.MutableByteValuesMap
collect, reject, select
-
Methods inherited from interface org.eclipse.collections.api.map.primitive.MutableIntByteMap
putPair, withAllKeyValues
-
Methods inherited from interface org.eclipse.collections.api.PrimitiveIterable
appendString, appendString, appendString, isEmpty, makeString, makeString, makeString, notEmpty, size
-
-
-
-
Field Detail
-
EMPTY_VALUE
private static final byte EMPTY_VALUE
- See Also:
- Constant Field Values
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
EMPTY_KEY
private static final int EMPTY_KEY
- See Also:
- Constant Field Values
-
REMOVED_KEY
private static final int REMOVED_KEY
- See Also:
- Constant Field Values
-
CACHE_LINE_SIZE
private static final int CACHE_LINE_SIZE
- See Also:
- Constant Field Values
-
KEY_SIZE
private static final int KEY_SIZE
- See Also:
- Constant Field Values
-
INITIAL_LINEAR_PROBE
private static final int INITIAL_LINEAR_PROBE
- See Also:
- Constant Field Values
-
DEFAULT_INITIAL_CAPACITY
private static final int DEFAULT_INITIAL_CAPACITY
- See Also:
- Constant Field Values
-
keys
private int[] keys
-
values
private byte[] values
-
occupiedWithData
private int occupiedWithData
-
occupiedWithSentinels
private int occupiedWithSentinels
-
sentinelValues
private AbstractMutableByteValuesMap.SentinelValues sentinelValues
-
copyKeysOnWrite
private boolean copyKeysOnWrite
-
-
Constructor Detail
-
IntByteHashMap
public IntByteHashMap()
-
IntByteHashMap
public IntByteHashMap(int initialCapacity)
-
IntByteHashMap
public IntByteHashMap(IntByteMap map)
-
-
Method Detail
-
newWithKeysValues
public static IntByteHashMap newWithKeysValues(int key1, byte value1)
-
newWithKeysValues
public static IntByteHashMap newWithKeysValues(int key1, byte value1, int key2, byte value2)
-
newWithKeysValues
public static IntByteHashMap newWithKeysValues(int key1, byte value1, int key2, byte value2, int key3, byte value3)
-
newWithKeysValues
public static IntByteHashMap newWithKeysValues(int key1, byte value1, int key2, byte value2, int key3, byte value3, int key4, byte value4)
-
smallestPowerOfTwoGreaterThan
private int smallestPowerOfTwoGreaterThan(int n)
-
getOccupiedWithData
protected int getOccupiedWithData()
- Specified by:
getOccupiedWithDatain classAbstractMutableByteValuesMap
-
getSentinelValues
protected AbstractMutableByteValuesMap.SentinelValues getSentinelValues()
- Specified by:
getSentinelValuesin classAbstractMutableByteValuesMap
-
setSentinelValuesNull
protected void setSentinelValuesNull()
- Specified by:
setSentinelValuesNullin classAbstractMutableByteValuesMap
-
getEmptyValue
protected byte getEmptyValue()
- Specified by:
getEmptyValuein classAbstractMutableByteValuesMap
-
getTableSize
protected int getTableSize()
- Specified by:
getTableSizein classAbstractMutableByteValuesMap
-
getValueAtIndex
protected byte getValueAtIndex(int index)
- Specified by:
getValueAtIndexin classAbstractMutableByteValuesMap
-
equals
public boolean equals(java.lang.Object obj)
Description copied from interface:IntByteMapFollows the same general contract asMap.equals(Object).- Specified by:
equalsin interfaceIntByteMap- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
Description copied from interface:IntByteMapFollows the same general contract asMap.hashCode().- Specified by:
hashCodein interfaceIntByteMap- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
Description copied from interface:PrimitiveIterableReturns 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:
toStringin interfaceIntByteMap- Specified by:
toStringin interfacePrimitiveIterable- Overrides:
toStringin classAbstractByteIterable- Returns:
- a string representation of this PrimitiveIterable
- See Also:
AbstractCollection.toString()
-
byteIterator
public MutableByteIterator byteIterator()
Description copied from interface:ByteIterableReturns a primitive iterator that can be used to iterate over the ByteIterable in an imperative style.- Specified by:
byteIteratorin interfaceByteIterable- Specified by:
byteIteratorin interfaceMutableByteValuesMap
-
injectInto
public <V> V injectInto(V injectedValue, ObjectByteToObjectFunction<? super V,? extends V> function)- Specified by:
injectIntoin interfaceByteIterable
-
clear
public void clear()
Description copied from interface:MutableByteValuesMapRemoves all entries from this map.- Specified by:
clearin interfaceMutableByteValuesMap- Specified by:
clearin interfaceMutableIntKeysMap
-
put
public void put(int key, byte value)Description copied from interface:MutableIntByteMapAssociates a value with the specified key. If a value is already associated with the key in this map, it will be replaced withvalue.- Specified by:
putin interfaceMutableIntByteMap- Parameters:
key- the keyvalue- the value to associate withvalue
-
putForRemovedSentinel
private void putForRemovedSentinel(byte value)
-
putForEmptySentinel
private void putForEmptySentinel(byte value)
-
putAll
public void putAll(IntByteMap map)
Description copied from interface:MutableIntByteMapPuts 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 inmap.- Specified by:
putAllin interfaceMutableIntByteMap- Parameters:
map- the map to copy into this map
-
updateValues
public void updateValues(IntByteToByteFunction function)
Description copied from interface:MutableIntByteMapUpdates the values in-place.- Specified by:
updateValuesin interfaceMutableIntByteMap- Parameters:
function- that takes a key and its value and that returns a new value for this key
-
removeKey
public void removeKey(int key)
Description copied from interface:MutableIntByteMapRemoves the mapping associated with the key, if one exists, from the map.- Specified by:
removeKeyin interfaceMutableIntByteMap- Specified by:
removeKeyin interfaceMutableIntKeysMap- Parameters:
key- the key to remove- See Also:
MutableIntByteMap.remove(int)
-
remove
public void remove(int key)
Description copied from interface:MutableIntByteMapRemoves the mapping associated with the key, if one exists, from the map.- Specified by:
removein interfaceMutableIntByteMap- Parameters:
key- the key to remove- See Also:
MutableIntByteMap.removeKey(int)
-
removeKeyIfAbsent
public byte removeKeyIfAbsent(int key, byte value)Description copied from interface:MutableIntByteMapRemoves 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:
removeKeyIfAbsentin interfaceMutableIntByteMap- Parameters:
key- the key to removevalue- the default value to return if no mapping for the key exists- Returns:
- the value previously associated with the key, if one existed,
or
valueif not
-
getIfAbsentPut
public byte getIfAbsentPut(int key, byte value)Description copied from interface:MutableIntByteMapRetrieves the value associated with the key if one exists; if it does not, associates a value with the key.- Specified by:
getIfAbsentPutin interfaceMutableIntByteMap- Parameters:
key- the keyvalue- the value to associate withkeyif no such mapping exists- Returns:
- the value associated with key, if one exists, or
valueif not
-
getAndPut
public byte getAndPut(int key, byte putValue, byte defaultValue)Description copied from interface:MutableIntByteMapRetrieves the value associated with the key if one exists; associates a putValue with the key.- Specified by:
getAndPutin interfaceMutableIntByteMap- Parameters:
key- the keyputValue- the value to associate withkeyif no such mapping existsdefaultValue- the value to return if no mapping associated withkeyexists- Returns:
- the value associated with key, if one exists, or
defaultValueif not
-
getIfAbsentPut
public byte getIfAbsentPut(int key, ByteFunction0 function)Description copied from interface:MutableIntByteMapRetrieves 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:
getIfAbsentPutin interfaceMutableIntByteMap- Parameters:
key- the keyfunction- the supplier that provides the value if no mapping exists forkey- Returns:
- the value associated with the key, if one exists, or the result of
invoking
functionif not
-
getIfAbsentPutWith
public <P> byte getIfAbsentPutWith(int key, ByteFunction<? super P> function, P parameter)Description copied from interface:MutableIntByteMapRetrieves 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:
getIfAbsentPutWithin interfaceMutableIntByteMap- Type Parameters:
P- the type of the value function'sparameter- Parameters:
key- the keyfunction- the function that provides the value if no mapping exists. The specifiedparameterwill be passed as the argument to the function.parameter- the parameter to provide tofunctionif no value exists forkey- Returns:
- the value associated with the key, if one exists, or the result of
invoking
functionwithparameterif not
-
getIfAbsentPutWithKey
public byte getIfAbsentPutWithKey(int key, IntToByteFunction function)Description copied from interface:MutableIntByteMapRetrieves 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:
getIfAbsentPutWithKeyin interfaceMutableIntByteMap- Parameters:
key- the keyfunction- the function that provides the value if no mapping exists. Thekeywill be passed as the argument to the function.- Returns:
- the value associated with the key, if one exists, or the result of
invoking
functionwithkeyif not
-
addToValue
public byte addToValue(int key, byte toBeAdded)Description copied from interface:MutableIntByteMapIncrements 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:
addToValuein interfaceMutableIntByteMap- Parameters:
key- the keytoBeAdded- 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
toBeAddedto the existing value associated withkeyortoBeAddedif one does not
-
addKeyValueAtIndex
private void addKeyValueAtIndex(int key, byte value, int index)
-
removeKeyAtIndex
private void removeKeyAtIndex(int index)
-
copyKeys
private void copyKeys()
-
updateValue
public byte updateValue(int key, byte initialValueIfAbsent, ByteToByteFunction function)Description copied from interface:MutableIntByteMapUpdates 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:
updateValuein interfaceMutableIntByteMap- Parameters:
key- the keyinitialValueIfAbsent- the initial value to supply to the function if no mapping exists for the keyfunction- 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
functionto the value already associated with the key or as a result of applying it toinitialValueIfAbsentand associating the result withkey
-
withKeyValue
public IntByteHashMap withKeyValue(int key1, byte value1)
Description copied from interface:MutableIntByteMapAssociates a value with the specified key. If a value is already associated with the key in this map, it will be replaced withvalue.- Specified by:
withKeyValuein interfaceMutableIntByteMap- Parameters:
key1- the keyvalue1- the value to associate withvalue- Returns:
- this map
- See Also:
MutableIntByteMap.put(int, byte)
-
withKeysValues
public IntByteHashMap withKeysValues(int key1, byte value1, int key2, byte value2)
-
withKeysValues
public IntByteHashMap withKeysValues(int key1, byte value1, int key2, byte value2, int key3, byte value3)
-
withKeysValues
public IntByteHashMap withKeysValues(int key1, byte value1, int key2, byte value2, int key3, byte value3, int key4, byte value4)
-
withoutKey
public IntByteHashMap withoutKey(int key)
Description copied from interface:MutableIntByteMapRemoves the mapping associated with the key, if one exists, from this map.- Specified by:
withoutKeyin interfaceMutableIntByteMap- Parameters:
key- the key to remove- Returns:
- this map
- See Also:
MutableIntByteMap.remove(int)
-
withoutAllKeys
public IntByteHashMap withoutAllKeys(IntIterable keys)
Description copied from interface:MutableIntByteMapRemoves the mappings associated with all the keys, if they exist, from this map.- Specified by:
withoutAllKeysin interfaceMutableIntByteMap- Parameters:
keys- the keys to remove- Returns:
- this map
- See Also:
MutableIntByteMap.remove(int)
-
asUnmodifiable
public MutableIntByteMap asUnmodifiable()
Description copied from interface:MutableIntByteMapReturns an unmodifiable view of this map, delegating all read-only operations to this map and throwing anUnsupportedOperationExceptionfor all mutating operations. This avoids the overhead of copying the map when callingIntByteMap.toImmutable()while still providing immutability.- Specified by:
asUnmodifiablein interfaceMutableIntByteMap- Returns:
- an unmodifiable view of this map
-
asSynchronized
public MutableIntByteMap asSynchronized()
Description copied from interface:MutableIntByteMapReturns 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:
asSynchronizedin interfaceMutableIntByteMap- Returns:
- a synchronized view of this map
-
toImmutable
public ImmutableIntByteMap toImmutable()
Description copied from interface:IntByteMapReturns a copy of this map that is immutable (if this map is mutable) or itself if it is already immutable.- Specified by:
toImmutablein interfaceIntByteMap- Returns:
- an immutable map that is equivalent to this one
-
get
public byte get(int key)
Description copied from interface:IntByteMapRetrieves the value associated with the key. If no mapping exists for the key, the default value (usually0) is returned.- Specified by:
getin interfaceIntByteMap- Parameters:
key- the key- Returns:
- the value associated with the key, or the default value if no such mapping exists
-
getIfAbsent
public byte getIfAbsent(int key, byte ifAbsent)Description copied from interface:IntByteMapRetrieves the value associated with the key, returning the specified default value if no such mapping exists.- Specified by:
getIfAbsentin interfaceIntByteMap- Parameters:
key- the keyifAbsent- the default value to return if no mapping exists forkey- Returns:
- the value associated with the key, or
ifAbsentif no such mapping exists.
-
getForSentinel
private byte getForSentinel(int key, byte ifAbsent)
-
slowGetIfAbsent
private byte slowGetIfAbsent(int key, byte ifAbsent)
-
fastGetIfAbsent
private byte fastGetIfAbsent(int key, byte ifAbsent)
-
slowGetIfAbsentTwo
private byte slowGetIfAbsentTwo(int key, byte ifAbsent)
-
getOrThrow
public byte getOrThrow(int key)
Description copied from interface:IntByteMapRetrieves the value associated with the key, throwing anIllegalStateExceptionif no such mapping exists.- Specified by:
getOrThrowin interfaceIntByteMap- Parameters:
key- the key- Returns:
- the value associated with the key
-
containsKey
public boolean containsKey(int key)
Description copied from interface:IntByteMapReturns whether or not the key is present in the map.- Specified by:
containsKeyin interfaceIntByteMap- Specified by:
containsKeyin interfaceIntKeysMap- Parameters:
key- the key- Returns:
- if a mapping exists in this map for the key
-
forEachKey
public void forEachKey(IntProcedure procedure)
Description copied from interface:IntByteMapIterates through each key in the map, invoking the procedure for each.- Specified by:
forEachKeyin interfaceIntByteMap- Specified by:
forEachKeyin interfaceIntKeysMap- Parameters:
procedure- the procedure to invoke for each key
-
forEachKeyValue
public void forEachKeyValue(IntByteProcedure procedure)
Description copied from interface:IntByteMapIterates through each key/value pair in the map, invoking the procedure for each.- Specified by:
forEachKeyValuein interfaceIntByteMap- Parameters:
procedure- the procedure to invoke for each key/value pair
-
allSatisfyKeyValue
public boolean allSatisfyKeyValue(IntBytePredicate predicate)
- Specified by:
allSatisfyKeyValuein interfaceIntByteMap- Since:
- 12.0
-
keysView
public LazyIntIterable keysView()
Description copied from interface:IntByteMapReturns 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:
keysViewin interfaceIntByteMap- Returns:
- a view of the keys in this map
-
keyValuesView
public RichIterable<IntBytePair> keyValuesView()
Description copied from interface:IntByteMapReturns 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:
keyValuesViewin interfaceIntByteMap- Returns:
- a view of the keys in this map
-
flipUniqueValues
public MutableByteIntMap flipUniqueValues()
Description copied from interface:IntByteMapReturn the ByteIntMap that is obtained by flipping the direction of this map and making the associations from value to key.- Specified by:
flipUniqueValuesin interfaceIntByteMap- Specified by:
flipUniqueValuesin interfaceMutableIntByteMap
-
select
public IntByteHashMap select(IntBytePredicate predicate)
Description copied from interface:IntByteMapReturn a copy of this map containing only the key/value pairs that match the predicate.- Specified by:
selectin interfaceIntByteMap- Specified by:
selectin interfaceMutableIntByteMap- 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 IntByteHashMap reject(IntBytePredicate predicate)
Description copied from interface:IntByteMapReturn a copy of this map containing only the key/value pairs that do not match the predicate.- Specified by:
rejectin interfaceIntByteMap- Specified by:
rejectin interfaceMutableIntByteMap- 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(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
trimToSize
public boolean trimToSize()
- Since:
- 12.0
-
compact
@Deprecated public void compact()
Deprecated.since 12.0 - UsetrimToSize()insteadRehashes every element in the set into a new backing table of the smallest possible size and eliminating removed sentinels.
-
rehashAndGrow
private void rehashAndGrow()
-
rehash
private void rehash(int newCapacity)
-
probe
int probe(int element)
-
probeTwo
int probeTwo(int element, int removedIndex)
-
probeThree
int probeThree(int element, int removedIndex)
-
spreadAndMask
int spreadAndMask(int element)
-
spreadTwoAndMask
int spreadTwoAndMask(int element)
-
mask
private int mask(int spread)
-
allocateTable
protected void allocateTable(int sizeToAllocate)
-
isEmptyKey
private static boolean isEmptyKey(int key)
-
isRemovedKey
private static boolean isRemovedKey(int key)
-
isNonSentinel
private static boolean isNonSentinel(int key)
-
isNonSentinelAtIndex
protected boolean isNonSentinelAtIndex(int index)
- Specified by:
isNonSentinelAtIndexin classAbstractMutableByteValuesMap
-
maxOccupiedWithData
private int maxOccupiedWithData()
-
keySet
public MutableIntSet keySet()
Description copied from interface:IntByteMapReturns 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:
keySetin interfaceIntByteMap- Returns:
- a mutable set containing the keys in this map
-
values
public MutableByteCollection values()
Description copied from interface:ByteValuesMapReturns 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:
valuesin interfaceByteValuesMap- Returns:
- the values as a collection backed by this map
-
-