Class CharLongHashMap
- java.lang.Object
-
- org.eclipse.collections.impl.primitive.AbstractLongIterable
-
- org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableLongValuesMap
-
- org.eclipse.collections.impl.map.mutable.primitive.CharLongHashMap
-
- All Implemented Interfaces:
java.io.Externalizable,java.io.Serializable,LongIterable,CharLongMap,LongValuesMap,MutableCharLongMap,MutableLongValuesMap,PrimitiveIterable,MutableCharKeysMap,CharKeysMap
public class CharLongHashMap extends AbstractMutableLongValuesMap implements MutableCharLongMap, java.io.Externalizable, MutableCharKeysMap
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 classCharLongHashMap.InternalLongIteratorprivate classCharLongHashMap.KeySetprivate classCharLongHashMap.KeySetIteratorprivate classCharLongHashMap.KeysViewprivate classCharLongHashMap.KeyValuesViewprivate classCharLongHashMap.ValuesCollection-
Nested classes/interfaces inherited from class org.eclipse.collections.impl.map.mutable.primitive.AbstractMutableLongValuesMap
AbstractMutableLongValuesMap.AbstractLongValuesCollection, AbstractMutableLongValuesMap.SentinelValues
-
-
Field Summary
Fields Modifier and Type Field Description private static intCACHE_LINE_SIZEprivate booleancopyKeysOnWriteprivate static intDEFAULT_INITIAL_CAPACITYprivate static charEMPTY_KEYprivate static longEMPTY_VALUEprivate static intINITIAL_LINEAR_PROBEprivate static intKEY_SIZEprivate char[]keysprivate intoccupiedWithDataprivate intoccupiedWithSentinelsprivate static charREMOVED_KEYprivate AbstractMutableLongValuesMap.SentinelValuessentinelValuesprivate static longserialVersionUIDprivate long[]values
-
Constructor Summary
Constructors Constructor Description CharLongHashMap()CharLongHashMap(int initialCapacity)CharLongHashMap(CharLongMap map)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description private voidaddKeyValueAtIndex(char key, long value, int index)longaddToValue(char key, long 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(CharLongPredicate predicate)MutableCharLongMapasSynchronized()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.MutableCharLongMapasUnmodifiable()Returns an unmodifiable view of this map, delegating all read-only operations to this map and throwing anUnsupportedOperationExceptionfor all mutating operations.voidclear()Removes all entries from this map.voidcompact()Deprecated.since 12.0 - UsetrimToSize()insteadbooleancontainsKey(char 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 longfastGetIfAbsent(char key, long ifAbsent)MutableLongCharMapflipUniqueValues()Return the LongCharMap that is obtained by flipping the direction of this map and making the associations from value to key.voidforEachKey(CharProcedure procedure)Iterates through each key in the map, invoking the procedure for each.voidforEachKeyValue(CharLongProcedure procedure)Iterates through each key/value pair in the map, invoking the procedure for each.longget(char key)Retrieves the value associated with the key.longgetAndPut(char key, long putValue, long defaultValue)Retrieves the value associated with the key if one exists; associates a putValue with the key.protected longgetEmptyValue()private longgetForSentinel(char key, long ifAbsent)longgetIfAbsent(char key, long ifAbsent)Retrieves the value associated with the key, returning the specified default value if no such mapping exists.longgetIfAbsentPut(char key, long value)Retrieves the value associated with the key if one exists; if it does not, associates a value with the key.longgetIfAbsentPut(char key, LongFunction0 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> longgetIfAbsentPutWith(char key, LongFunction<? 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.longgetIfAbsentPutWithKey(char key, CharToLongFunction 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()longgetOrThrow(char key)Retrieves the value associated with the key, throwing anIllegalStateExceptionif no such mapping exists.protected AbstractMutableLongValuesMap.SentinelValuesgetSentinelValues()protected intgetTableSize()protected longgetValueAtIndex(int index)inthashCode()Follows the same general contract asMap.hashCode().<V> VinjectInto(V injectedValue, ObjectLongToObjectFunction<? super V,? extends V> function)private static booleanisEmptyKey(char key)private static booleanisNonSentinel(char key)protected booleanisNonSentinelAtIndex(int index)private static booleanisRemovedKey(char key)MutableCharSetkeySet()Returns a set containing all the keys in this map.LazyCharIterablekeysView()Returns a view of the keys in this map.RichIterable<CharLongPair>keyValuesView()Returns a view of the key/value pairs in this map.MutableLongIteratorlongIterator()Returns a primitive iterator that can be used to iterate over the LongIterable in an imperative style.private intmask(int spread)private intmaxOccupiedWithData()static CharLongHashMapnewWithKeysValues(char key1, long value1)static CharLongHashMapnewWithKeysValues(char key1, long value1, char key2, long value2)static CharLongHashMapnewWithKeysValues(char key1, long value1, char key2, long value2, char key3, long value3)static CharLongHashMapnewWithKeysValues(char key1, long value1, char key2, long value2, char key3, long value3, char key4, long value4)(package private) intprobe(char element)(package private) intprobeThree(char element, int removedIndex)(package private) intprobeTwo(char element, int removedIndex)voidput(char key, long value)Associates a value with the specified key.voidputAll(CharLongMap map)Puts all of the key/value mappings from the specified map into this map.private voidputForEmptySentinel(long value)private voidputForRemovedSentinel(long value)voidreadExternal(java.io.ObjectInput in)private voidrehash(int newCapacity)private voidrehashAndGrow()CharLongHashMapreject(CharLongPredicate predicate)Return a copy of this map containing only the key/value pairs that do not match the predicate.voidremove(char key)Removes the mapping associated with the key, if one exists, from the map.voidremoveKey(char key)Removes the mapping associated with the key, if one exists, from the map.private voidremoveKeyAtIndex(int index)longremoveKeyIfAbsent(char key, long value)Removes the mapping associated with the key, if one exists, from the map, returning the previously associated value with the key.CharLongHashMapselect(CharLongPredicate predicate)Return a copy of this map containing only the key/value pairs that match the predicate.protected voidsetSentinelValuesNull()private longslowGetIfAbsent(char key, long ifAbsent)private longslowGetIfAbsentTwo(char key, long ifAbsent)private intsmallestPowerOfTwoGreaterThan(int n)(package private) intspreadAndMask(char element)(package private) intspreadTwoAndMask(char element)ImmutableCharLongMaptoImmutable()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()longupdateValue(char key, long initialValueIfAbsent, LongToLongFunction 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(CharLongToLongFunction function)Updates the values in-place.MutableLongCollectionvalues()Returns the values in this map as a separate collection.CharLongHashMapwithKeysValues(char key1, long value1, char key2, long value2)CharLongHashMapwithKeysValues(char key1, long value1, char key2, long value2, char key3, long value3)CharLongHashMapwithKeysValues(char key1, long value1, char key2, long value2, char key3, long value3, char key4, long value4)CharLongHashMapwithKeyValue(char key1, long value1)Associates a value with the specified key.CharLongHashMapwithoutAllKeys(CharIterable keys)Removes the mappings associated with all the keys, if they exist, from this map.CharLongHashMapwithoutKey(char 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.AbstractMutableLongValuesMap
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.AbstractLongIterable
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.impl.map.primitive.CharKeysMap
isEmpty, notEmpty, size
-
Methods inherited from interface org.eclipse.collections.api.map.primitive.CharLongMap
injectIntoKeyValue
-
Methods inherited from interface org.eclipse.collections.api.LongIterable
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.LongValuesMap
containsValue, forEachValue, tap
-
Methods inherited from interface org.eclipse.collections.api.map.primitive.MutableCharLongMap
putPair, withAllKeyValues
-
Methods inherited from interface org.eclipse.collections.api.map.primitive.MutableLongValuesMap
collect, reject, select
-
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 long EMPTY_VALUE
- See Also:
- Constant Field Values
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
EMPTY_KEY
private static final char EMPTY_KEY
- See Also:
- Constant Field Values
-
REMOVED_KEY
private static final char 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 char[] keys
-
values
private long[] values
-
occupiedWithData
private int occupiedWithData
-
occupiedWithSentinels
private int occupiedWithSentinels
-
sentinelValues
private AbstractMutableLongValuesMap.SentinelValues sentinelValues
-
copyKeysOnWrite
private boolean copyKeysOnWrite
-
-
Constructor Detail
-
CharLongHashMap
public CharLongHashMap()
-
CharLongHashMap
public CharLongHashMap(int initialCapacity)
-
CharLongHashMap
public CharLongHashMap(CharLongMap map)
-
-
Method Detail
-
newWithKeysValues
public static CharLongHashMap newWithKeysValues(char key1, long value1)
-
newWithKeysValues
public static CharLongHashMap newWithKeysValues(char key1, long value1, char key2, long value2)
-
newWithKeysValues
public static CharLongHashMap newWithKeysValues(char key1, long value1, char key2, long value2, char key3, long value3)
-
newWithKeysValues
public static CharLongHashMap newWithKeysValues(char key1, long value1, char key2, long value2, char key3, long value3, char key4, long value4)
-
smallestPowerOfTwoGreaterThan
private int smallestPowerOfTwoGreaterThan(int n)
-
getOccupiedWithData
protected int getOccupiedWithData()
- Specified by:
getOccupiedWithDatain classAbstractMutableLongValuesMap
-
getSentinelValues
protected AbstractMutableLongValuesMap.SentinelValues getSentinelValues()
- Specified by:
getSentinelValuesin classAbstractMutableLongValuesMap
-
setSentinelValuesNull
protected void setSentinelValuesNull()
- Specified by:
setSentinelValuesNullin classAbstractMutableLongValuesMap
-
getEmptyValue
protected long getEmptyValue()
- Specified by:
getEmptyValuein classAbstractMutableLongValuesMap
-
getTableSize
protected int getTableSize()
- Specified by:
getTableSizein classAbstractMutableLongValuesMap
-
getValueAtIndex
protected long getValueAtIndex(int index)
- Specified by:
getValueAtIndexin classAbstractMutableLongValuesMap
-
equals
public boolean equals(java.lang.Object obj)
Description copied from interface:CharLongMapFollows the same general contract asMap.equals(Object).- Specified by:
equalsin interfaceCharLongMap- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
Description copied from interface:CharLongMapFollows the same general contract asMap.hashCode().- Specified by:
hashCodein interfaceCharLongMap- 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 interfaceCharLongMap- Specified by:
toStringin interfacePrimitiveIterable- Overrides:
toStringin classAbstractLongIterable- Returns:
- a string representation of this PrimitiveIterable
- See Also:
AbstractCollection.toString()
-
longIterator
public MutableLongIterator longIterator()
Description copied from interface:LongIterableReturns a primitive iterator that can be used to iterate over the LongIterable in an imperative style.- Specified by:
longIteratorin interfaceLongIterable- Specified by:
longIteratorin interfaceMutableLongValuesMap
-
injectInto
public <V> V injectInto(V injectedValue, ObjectLongToObjectFunction<? super V,? extends V> function)- Specified by:
injectIntoin interfaceLongIterable
-
clear
public void clear()
Description copied from interface:MutableLongValuesMapRemoves all entries from this map.- Specified by:
clearin interfaceMutableCharKeysMap- Specified by:
clearin interfaceMutableLongValuesMap
-
put
public void put(char key, long value)Description copied from interface:MutableCharLongMapAssociates 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 interfaceMutableCharLongMap- Parameters:
key- the keyvalue- the value to associate withvalue
-
putForRemovedSentinel
private void putForRemovedSentinel(long value)
-
putForEmptySentinel
private void putForEmptySentinel(long value)
-
putAll
public void putAll(CharLongMap map)
Description copied from interface:MutableCharLongMapPuts 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 interfaceMutableCharLongMap- Parameters:
map- the map to copy into this map
-
updateValues
public void updateValues(CharLongToLongFunction function)
Description copied from interface:MutableCharLongMapUpdates the values in-place.- Specified by:
updateValuesin interfaceMutableCharLongMap- Parameters:
function- that takes a key and its value and that returns a new value for this key
-
removeKey
public void removeKey(char key)
Description copied from interface:MutableCharLongMapRemoves the mapping associated with the key, if one exists, from the map.- Specified by:
removeKeyin interfaceMutableCharKeysMap- Specified by:
removeKeyin interfaceMutableCharLongMap- Parameters:
key- the key to remove- See Also:
MutableCharLongMap.remove(char)
-
remove
public void remove(char key)
Description copied from interface:MutableCharLongMapRemoves the mapping associated with the key, if one exists, from the map.- Specified by:
removein interfaceMutableCharLongMap- Parameters:
key- the key to remove- See Also:
MutableCharLongMap.removeKey(char)
-
removeKeyIfAbsent
public long removeKeyIfAbsent(char key, long value)Description copied from interface:MutableCharLongMapRemoves 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 interfaceMutableCharLongMap- 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 long getIfAbsentPut(char key, long value)Description copied from interface:MutableCharLongMapRetrieves the value associated with the key if one exists; if it does not, associates a value with the key.- Specified by:
getIfAbsentPutin interfaceMutableCharLongMap- 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 long getAndPut(char key, long putValue, long defaultValue)Description copied from interface:MutableCharLongMapRetrieves the value associated with the key if one exists; associates a putValue with the key.- Specified by:
getAndPutin interfaceMutableCharLongMap- 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 long getIfAbsentPut(char key, LongFunction0 function)Description copied from interface:MutableCharLongMapRetrieves 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 interfaceMutableCharLongMap- 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> long getIfAbsentPutWith(char key, LongFunction<? super P> function, P parameter)Description copied from interface:MutableCharLongMapRetrieves 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 interfaceMutableCharLongMap- 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 long getIfAbsentPutWithKey(char key, CharToLongFunction function)Description copied from interface:MutableCharLongMapRetrieves 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 interfaceMutableCharLongMap- 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 long addToValue(char key, long toBeAdded)Description copied from interface:MutableCharLongMapIncrements 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 interfaceMutableCharLongMap- 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(char key, long value, int index)
-
removeKeyAtIndex
private void removeKeyAtIndex(int index)
-
copyKeys
private void copyKeys()
-
updateValue
public long updateValue(char key, long initialValueIfAbsent, LongToLongFunction function)Description copied from interface:MutableCharLongMapUpdates 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 interfaceMutableCharLongMap- 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 CharLongHashMap withKeyValue(char key1, long value1)
Description copied from interface:MutableCharLongMapAssociates 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 interfaceMutableCharLongMap- Parameters:
key1- the keyvalue1- the value to associate withvalue- Returns:
- this map
- See Also:
MutableCharLongMap.put(char, long)
-
withKeysValues
public CharLongHashMap withKeysValues(char key1, long value1, char key2, long value2)
-
withKeysValues
public CharLongHashMap withKeysValues(char key1, long value1, char key2, long value2, char key3, long value3)
-
withKeysValues
public CharLongHashMap withKeysValues(char key1, long value1, char key2, long value2, char key3, long value3, char key4, long value4)
-
withoutKey
public CharLongHashMap withoutKey(char key)
Description copied from interface:MutableCharLongMapRemoves the mapping associated with the key, if one exists, from this map.- Specified by:
withoutKeyin interfaceMutableCharLongMap- Parameters:
key- the key to remove- Returns:
- this map
- See Also:
MutableCharLongMap.remove(char)
-
withoutAllKeys
public CharLongHashMap withoutAllKeys(CharIterable keys)
Description copied from interface:MutableCharLongMapRemoves the mappings associated with all the keys, if they exist, from this map.- Specified by:
withoutAllKeysin interfaceMutableCharLongMap- Parameters:
keys- the keys to remove- Returns:
- this map
- See Also:
MutableCharLongMap.remove(char)
-
asUnmodifiable
public MutableCharLongMap asUnmodifiable()
Description copied from interface:MutableCharLongMapReturns 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 callingCharLongMap.toImmutable()while still providing immutability.- Specified by:
asUnmodifiablein interfaceMutableCharLongMap- Returns:
- an unmodifiable view of this map
-
asSynchronized
public MutableCharLongMap asSynchronized()
Description copied from interface:MutableCharLongMapReturns 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 interfaceMutableCharLongMap- Returns:
- a synchronized view of this map
-
toImmutable
public ImmutableCharLongMap toImmutable()
Description copied from interface:CharLongMapReturns a copy of this map that is immutable (if this map is mutable) or itself if it is already immutable.- Specified by:
toImmutablein interfaceCharLongMap- Returns:
- an immutable map that is equivalent to this one
-
get
public long get(char key)
Description copied from interface:CharLongMapRetrieves the value associated with the key. If no mapping exists for the key, the default value (usually0) is returned.- Specified by:
getin interfaceCharLongMap- Parameters:
key- the key- Returns:
- the value associated with the key, or the default value if no such mapping exists
-
getIfAbsent
public long getIfAbsent(char key, long ifAbsent)Description copied from interface:CharLongMapRetrieves the value associated with the key, returning the specified default value if no such mapping exists.- Specified by:
getIfAbsentin interfaceCharLongMap- 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 long getForSentinel(char key, long ifAbsent)
-
slowGetIfAbsent
private long slowGetIfAbsent(char key, long ifAbsent)
-
fastGetIfAbsent
private long fastGetIfAbsent(char key, long ifAbsent)
-
slowGetIfAbsentTwo
private long slowGetIfAbsentTwo(char key, long ifAbsent)
-
getOrThrow
public long getOrThrow(char key)
Description copied from interface:CharLongMapRetrieves the value associated with the key, throwing anIllegalStateExceptionif no such mapping exists.- Specified by:
getOrThrowin interfaceCharLongMap- Parameters:
key- the key- Returns:
- the value associated with the key
-
containsKey
public boolean containsKey(char key)
Description copied from interface:CharLongMapReturns whether or not the key is present in the map.- Specified by:
containsKeyin interfaceCharKeysMap- Specified by:
containsKeyin interfaceCharLongMap- Parameters:
key- the key- Returns:
- if a mapping exists in this map for the key
-
forEachKey
public void forEachKey(CharProcedure procedure)
Description copied from interface:CharLongMapIterates through each key in the map, invoking the procedure for each.- Specified by:
forEachKeyin interfaceCharKeysMap- Specified by:
forEachKeyin interfaceCharLongMap- Parameters:
procedure- the procedure to invoke for each key
-
forEachKeyValue
public void forEachKeyValue(CharLongProcedure procedure)
Description copied from interface:CharLongMapIterates through each key/value pair in the map, invoking the procedure for each.- Specified by:
forEachKeyValuein interfaceCharLongMap- Parameters:
procedure- the procedure to invoke for each key/value pair
-
allSatisfyKeyValue
public boolean allSatisfyKeyValue(CharLongPredicate predicate)
- Specified by:
allSatisfyKeyValuein interfaceCharLongMap- Since:
- 12.0
-
keysView
public LazyCharIterable keysView()
Description copied from interface:CharLongMapReturns 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 interfaceCharLongMap- Returns:
- a view of the keys in this map
-
keyValuesView
public RichIterable<CharLongPair> keyValuesView()
Description copied from interface:CharLongMapReturns 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 interfaceCharLongMap- Returns:
- a view of the keys in this map
-
flipUniqueValues
public MutableLongCharMap flipUniqueValues()
Description copied from interface:CharLongMapReturn the LongCharMap that is obtained by flipping the direction of this map and making the associations from value to key.- Specified by:
flipUniqueValuesin interfaceCharLongMap- Specified by:
flipUniqueValuesin interfaceMutableCharLongMap
-
select
public CharLongHashMap select(CharLongPredicate predicate)
Description copied from interface:CharLongMapReturn a copy of this map containing only the key/value pairs that match the predicate.- Specified by:
selectin interfaceCharLongMap- Specified by:
selectin interfaceMutableCharLongMap- 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 CharLongHashMap reject(CharLongPredicate predicate)
Description copied from interface:CharLongMapReturn a copy of this map containing only the key/value pairs that do not match the predicate.- Specified by:
rejectin interfaceCharLongMap- Specified by:
rejectin interfaceMutableCharLongMap- 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(char element)
-
probeTwo
int probeTwo(char element, int removedIndex)
-
probeThree
int probeThree(char element, int removedIndex)
-
spreadAndMask
int spreadAndMask(char element)
-
spreadTwoAndMask
int spreadTwoAndMask(char element)
-
mask
private int mask(int spread)
-
allocateTable
protected void allocateTable(int sizeToAllocate)
-
isEmptyKey
private static boolean isEmptyKey(char key)
-
isRemovedKey
private static boolean isRemovedKey(char key)
-
isNonSentinel
private static boolean isNonSentinel(char key)
-
isNonSentinelAtIndex
protected boolean isNonSentinelAtIndex(int index)
- Specified by:
isNonSentinelAtIndexin classAbstractMutableLongValuesMap
-
maxOccupiedWithData
private int maxOccupiedWithData()
-
keySet
public MutableCharSet keySet()
Description copied from interface:CharLongMapReturns 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 interfaceCharLongMap- Returns:
- a mutable set containing the keys in this map
-
values
public MutableLongCollection values()
Description copied from interface:LongValuesMapReturns 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 interfaceLongValuesMap- Returns:
- the values as a collection backed by this map
-
-