Class ObjectByteHashMapWithHashingStrategy<K>
- java.lang.Object
-
- org.eclipse.collections.impl.map.mutable.primitive.ObjectByteHashMapWithHashingStrategy<K>
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,ByteIterable
,MutableObjectByteMap<K>
,ObjectByteMap<K>
,PrimitiveIterable
public class ObjectByteHashMapWithHashingStrategy<K> extends java.lang.Object implements MutableObjectByteMap<K>, java.io.Externalizable
This file was automatically generated from template file objectPrimitiveHashMapWithHashingStrategy.stg.- Since:
- 7.0.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
ObjectByteHashMapWithHashingStrategy.InternalByteIterator
private class
ObjectByteHashMapWithHashingStrategy.KeySet
private class
ObjectByteHashMapWithHashingStrategy.KeySetIterator
private class
ObjectByteHashMapWithHashingStrategy.KeysView
private class
ObjectByteHashMapWithHashingStrategy.KeyValuesView
private class
ObjectByteHashMapWithHashingStrategy.ValuesCollection
-
Field Summary
Fields Modifier and Type Field Description private static int
DEFAULT_INITIAL_CAPACITY
static byte
EMPTY_VALUE
private HashingStrategy<? super K>
hashingStrategy
private java.lang.Object[]
keys
private static java.lang.Object
NULL_KEY
private int
occupiedWithData
private int
occupiedWithSentinels
private static java.lang.Object
REMOVED_KEY
private static long
serialVersionUID
private byte[]
values
-
Constructor Summary
Constructors Constructor Description ObjectByteHashMapWithHashingStrategy()
Deprecated.Use ObjectByteHashMapWithHashingStrategy(HashingStrategy) instead.ObjectByteHashMapWithHashingStrategy(HashingStrategy<? super K> hashingStrategy)
ObjectByteHashMapWithHashingStrategy(HashingStrategy<? super K> hashingStrategy, int initialCapacity)
ObjectByteHashMapWithHashingStrategy(HashingStrategy<? super K> hashingStrategy, ObjectByteMap<? extends K> map)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addKeyValueAtIndex(K key, byte value, int index)
byte
addToValue(K key, byte toBeAdded)
protected void
allocateTable(int sizeToAllocate)
boolean
allSatisfy(BytePredicate predicate)
Returns true if all of the elements in the ByteIterable return true for the specified predicate, otherwise returns false.boolean
anySatisfy(BytePredicate predicate)
Returns true if any of the elements in the ByteIterable return true for the specified predicate, otherwise returns false.void
appendString(java.lang.Appendable appendable)
Prints a string representation of this collection onto the givenAppendable
.void
appendString(java.lang.Appendable appendable, java.lang.String separator)
Prints a string representation of this collection onto the givenAppendable
.void
appendString(java.lang.Appendable appendable, java.lang.String start, java.lang.String separator, java.lang.String end)
Prints a string representation of this collection onto the givenAppendable
.LazyByteIterable
asLazy()
Returns a LazyByteIterable adapter wrapping the source ByteIterable.MutableObjectByteMap<K>
asSynchronized()
MutableObjectByteMap<K>
asUnmodifiable()
double
average()
MutableByteIterator
byteIterator()
Returns a primitive iterator that can be used to iterate over the ByteIterable in an imperative style.RichIterable<ByteIterable>
chunk(int size)
Partitions elements in fixed size chunks.void
clear()
Removes all entries from this map.<V> MutableCollection<V>
collect(ByteToObjectFunction<? extends V> function)
Returns a new collection with the results of applying the specified function on each element of the source collection.void
compact()
Rehashes every element in the set into a new backing table of the smallest possible size and eliminating removed sentinels.boolean
contains(byte value)
Returns true if the value is contained in the ByteIterable, and false if it is not.boolean
containsAll(byte... source)
Returns true if all of the values specified in the source array are contained in the ByteIterable, and false if they are not.boolean
containsAll(ByteIterable source)
Returns true if all of the values specified in the source ByteIterable are contained in the ByteIterable, and false if they are not.boolean
containsKey(java.lang.Object key)
Returns whether or not the key is present in the map.boolean
containsValue(byte value)
Returns whether or not this map contains the value.int
count(BytePredicate predicate)
Returns a count of the number of elements in the ByteIterable that return true for the specified predicate.byte
detectIfNone(BytePredicate predicate, byte ifNone)
void
each(ByteProcedure procedure)
A synonym for forEach.boolean
equals(java.lang.Object obj)
private int
fastCeil(float v)
MutableByteObjectMap<K>
flipUniqueValues()
Return the ByteObjectMap that is obtained by flipping the direction of this map and making the associations from value to key.void
forEachKey(Procedure<? super K> procedure)
Iterates through each key in the map, invoking the procedure for each.void
forEachKeyValue(ObjectByteProcedure<? super K> procedure)
Iterates through each key/value pair in the map, invoking the procedure for each.void
forEachValue(ByteProcedure procedure)
Iterates through each value in this map.byte
get(java.lang.Object key)
Retrieves the value associated with the key.byte
getAndPut(K key, byte putValue, byte defaultValue)
Retrieves the value associated with the key if one exists; if it does not, associates a putValue with the key.byte
getIfAbsent(java.lang.Object key, byte ifAbsent)
Retrieves the value associated with the key, returning the specified default value if no such mapping exists.byte
getIfAbsentPut(K key, byte value)
Retrieves the value associated with the key if one exists; if it does not, associates a value with the key.byte
getIfAbsentPut(K 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> byte
getIfAbsentPutWith(K 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.byte
getIfAbsentPutWithKey(K key, ByteFunction<? super K> 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.byte
getOrThrow(java.lang.Object key)
Retrieves the value associated with the key, throwing anIllegalStateException
if no such mapping exists.int
hashCode()
<V> V
injectInto(V injectedValue, ObjectByteToObjectFunction<? super V,? extends V> function)
boolean
isEmpty()
Returns true if this iterable has zero items.private static <K> boolean
isNonSentinel(K key)
private static boolean
isRemovedKey(java.lang.Object key)
java.util.Set<K>
keySet()
Returns a set containing all the keys in this map.LazyIterable<K>
keysView()
Returns a view of the keys in this map.RichIterable<ObjectBytePair<K>>
keyValuesView()
Returns a view of the key/value pairs in this map.java.lang.String
makeString()
Returns a string representation of this collection by delegating toPrimitiveIterable.makeString(String)
and defaulting the separator parameter to the characters", "
(comma and space).java.lang.String
makeString(java.lang.String separator)
Returns a string representation of this collection by delegating toPrimitiveIterable.makeString(String, String, String)
and defaulting the start and end parameters to""
(the empty String).java.lang.String
makeString(java.lang.String start, java.lang.String separator, java.lang.String end)
Returns a string representation of this collection with the elements separated by the specified separator and enclosed between the start and end strings.byte
max()
byte
maxIfEmpty(byte defaultValue)
private int
maxOccupiedWithData()
double
median()
byte
min()
byte
minIfEmpty(byte defaultValue)
static <K> ObjectByteHashMapWithHashingStrategy<K>
newMap(HashingStrategy<? super K> hashingStrategy)
static <K> ObjectByteHashMapWithHashingStrategy<K>
newMap(HashingStrategy<? super K> hashingStrategy, ObjectByteMap<K> map)
static <K> ObjectByteHashMapWithHashingStrategy<K>
newMap(ObjectByteHashMapWithHashingStrategy<K> map)
static <K> ObjectByteHashMapWithHashingStrategy<K>
newMapWithInitialCapacity(HashingStrategy<? super K> hashingStrategy, int initialCapacity)
static <K> ObjectByteHashMapWithHashingStrategy<K>
newWithKeysValues(HashingStrategy<? super K> hashingStrategy, K key1, byte value1)
static <K> ObjectByteHashMapWithHashingStrategy<K>
newWithKeysValues(HashingStrategy<? super K> hashingStrategy, K key1, byte value1, K key2, byte value2)
static <K> ObjectByteHashMapWithHashingStrategy<K>
newWithKeysValues(HashingStrategy<? super K> hashingStrategy, K key1, byte value1, K key2, byte value2, K key3, byte value3)
static <K> ObjectByteHashMapWithHashingStrategy<K>
newWithKeysValues(HashingStrategy<? super K> hashingStrategy, K key1, byte value1, K key2, byte value2, K key3, byte value3, K key4, byte value4)
boolean
noneSatisfy(BytePredicate predicate)
Returns true if none of the elements in the ByteIterable return true for the specified predicate, otherwise returns false.boolean
notEmpty()
The English equivalent of !this.isEmpty()private boolean
nullSafeEquals(K value, java.lang.Object other)
(package private) int
probe(java.lang.Object element)
void
put(K key, byte value)
Associates a value with the specified key.void
putAll(ObjectByteMap<? extends K> map)
Puts all of the key/value mappings from the specified map into this map.void
readExternal(java.io.ObjectInput in)
private void
rehash(int newCapacity)
private void
rehashAndGrow()
MutableByteCollection
reject(BytePredicate predicate)
Returns a new ByteIterable with all of the elements in the ByteIterable that return false for the specified predicate.ObjectByteHashMapWithHashingStrategy<K>
reject(ObjectBytePredicate<? super K> predicate)
Return a copy of this map containing only the key/value pairs that do not match the predicate.void
remove(java.lang.Object key)
Removes the mapping associated with the key, if one exists, from the map.void
removeKey(K key)
Removes the mapping associated with the key, if one exists, from the map.void
removeKeyAtIndex(K key, int index)
byte
removeKeyIfAbsent(K key, byte value)
Removes the mapping associated with the key, if one exists, from the map, returning the previously associated value with the key.MutableByteCollection
select(BytePredicate predicate)
Returns a new ByteIterable with all of the elements in the ByteIterable that return true for the specified predicate.ObjectByteHashMapWithHashingStrategy<K>
select(ObjectBytePredicate<? super K> predicate)
Return a copy of this map containing only the key/value pairs that match the predicate.int
size()
Returns the number of items in this iterable.private int
smallestPowerOfTwoGreaterThan(int n)
(package private) int
spread(java.lang.Object element)
long
sum()
byte[]
toArray()
Converts the ByteIterable to a primitive byte array.byte[]
toArray(byte[] target)
Converts the ByteIterable to a primitive byte array.MutableByteBag
toBag()
Converts the ByteIterable to a new MutableByteBag.ImmutableObjectByteMap<K>
toImmutable()
Returns a copy of this map that is immutable (if this map is mutable) or itself if it is already immutable.MutableByteList
toList()
Converts the ByteIterable to a new MutableByteList.private K
toNonSentinel(java.lang.Object key)
private static java.lang.Object
toSentinelIfNull(java.lang.Object key)
MutableByteSet
toSet()
Converts the ByteIterable to a new MutableByteSet.byte[]
toSortedArray()
MutableByteList
toSortedList()
java.lang.String
toString()
Follows the same general contract asAbstractMap.toString()
byte
updateValue(K 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.void
updateValues(ObjectByteToByteFunction<? super K> function)
Updates the values in-place.MutableByteCollection
values()
Returns the values in this map as a separate collection.ObjectByteHashMapWithHashingStrategy<K>
withKeysValues(K key1, byte value1, K key2, byte value2)
ObjectByteHashMapWithHashingStrategy<K>
withKeysValues(K key1, byte value1, K key2, byte value2, K key3, byte value3)
ObjectByteHashMapWithHashingStrategy<K>
withKeysValues(K key1, byte value1, K key2, byte value2, K key3, byte value3, K key4, byte value4)
ObjectByteHashMapWithHashingStrategy<K>
withKeyValue(K key1, byte value1)
Associates a value with the specified key.ObjectByteHashMapWithHashingStrategy<K>
withoutAllKeys(java.lang.Iterable<? extends K> keys)
Removes the mappings associated with all the keys, if they exist, from this map.ObjectByteHashMapWithHashingStrategy<K>
withoutKey(K key)
Removes the mapping associated with the key, if one exists, from this map.void
writeExternal(java.io.ObjectOutput out)
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.collections.api.ByteIterable
averageIfEmpty, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectInt, collectLong, collectShort, containsAny, containsAny, containsNone, containsNone, flatCollect, forEach, injectIntoBoolean, injectIntoByte, injectIntoChar, injectIntoDouble, injectIntoFloat, injectIntoInt, injectIntoLong, injectIntoShort, medianIfEmpty, reduce, reduceIfEmpty, reject, select, summaryStatistics, toSortedList, toSortedListBy, toSortedListBy
-
Methods inherited from interface org.eclipse.collections.api.map.primitive.MutableObjectByteMap
putPair, tap, withAllKeyValues
-
Methods inherited from interface org.eclipse.collections.api.map.primitive.ObjectByteMap
injectIntoKeyValue
-
-
-
-
Field Detail
-
EMPTY_VALUE
public static final byte EMPTY_VALUE
- See Also:
- Constant Field Values
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
DEFAULT_INITIAL_CAPACITY
private static final int DEFAULT_INITIAL_CAPACITY
- See Also:
- Constant Field Values
-
NULL_KEY
private static final java.lang.Object NULL_KEY
-
REMOVED_KEY
private static final java.lang.Object REMOVED_KEY
-
keys
private java.lang.Object[] keys
-
values
private byte[] values
-
occupiedWithData
private int occupiedWithData
-
occupiedWithSentinels
private int occupiedWithSentinels
-
hashingStrategy
private HashingStrategy<? super K> hashingStrategy
-
-
Constructor Detail
-
ObjectByteHashMapWithHashingStrategy
@Deprecated public ObjectByteHashMapWithHashingStrategy()
Deprecated.Use ObjectByteHashMapWithHashingStrategy(HashingStrategy) instead.
-
ObjectByteHashMapWithHashingStrategy
public ObjectByteHashMapWithHashingStrategy(HashingStrategy<? super K> hashingStrategy)
-
ObjectByteHashMapWithHashingStrategy
public ObjectByteHashMapWithHashingStrategy(HashingStrategy<? super K> hashingStrategy, int initialCapacity)
-
ObjectByteHashMapWithHashingStrategy
public ObjectByteHashMapWithHashingStrategy(HashingStrategy<? super K> hashingStrategy, ObjectByteMap<? extends K> map)
-
-
Method Detail
-
newMap
public static <K> ObjectByteHashMapWithHashingStrategy<K> newMap(HashingStrategy<? super K> hashingStrategy)
-
newMap
public static <K> ObjectByteHashMapWithHashingStrategy<K> newMap(HashingStrategy<? super K> hashingStrategy, ObjectByteMap<K> map)
-
newMap
public static <K> ObjectByteHashMapWithHashingStrategy<K> newMap(ObjectByteHashMapWithHashingStrategy<K> map)
-
newMapWithInitialCapacity
public static <K> ObjectByteHashMapWithHashingStrategy<K> newMapWithInitialCapacity(HashingStrategy<? super K> hashingStrategy, int initialCapacity)
-
newWithKeysValues
public static <K> ObjectByteHashMapWithHashingStrategy<K> newWithKeysValues(HashingStrategy<? super K> hashingStrategy, K key1, byte value1)
-
newWithKeysValues
public static <K> ObjectByteHashMapWithHashingStrategy<K> newWithKeysValues(HashingStrategy<? super K> hashingStrategy, K key1, byte value1, K key2, byte value2)
-
newWithKeysValues
public static <K> ObjectByteHashMapWithHashingStrategy<K> newWithKeysValues(HashingStrategy<? super K> hashingStrategy, K key1, byte value1, K key2, byte value2, K key3, byte value3)
-
newWithKeysValues
public static <K> ObjectByteHashMapWithHashingStrategy<K> newWithKeysValues(HashingStrategy<? super K> hashingStrategy, K key1, byte value1, K key2, byte value2, K key3, byte value3, K key4, byte value4)
-
smallestPowerOfTwoGreaterThan
private int smallestPowerOfTwoGreaterThan(int n)
-
fastCeil
private int fastCeil(float v)
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
Description copied from interface:ObjectByteMap
Follows the same general contract asAbstractMap.toString()
- Specified by:
toString
in interfaceObjectByteMap<K>
- Specified by:
toString
in interfacePrimitiveIterable
- Overrides:
toString
in classjava.lang.Object
- Returns:
- a string representation of this ObjectByteMap
- See Also:
AbstractCollection.toString()
-
size
public int size()
Description copied from interface:PrimitiveIterable
Returns the number of items in this iterable.- Specified by:
size
in interfacePrimitiveIterable
-
isEmpty
public boolean isEmpty()
Description copied from interface:PrimitiveIterable
Returns true if this iterable has zero items.- Specified by:
isEmpty
in interfacePrimitiveIterable
-
notEmpty
public boolean notEmpty()
Description copied from interface:PrimitiveIterable
The English equivalent of !this.isEmpty()- Specified by:
notEmpty
in interfacePrimitiveIterable
-
makeString
public java.lang.String makeString()
Description copied from interface:PrimitiveIterable
Returns a string representation of this collection by delegating toPrimitiveIterable.makeString(String)
and defaulting the separator parameter to the characters", "
(comma and space).- Specified by:
makeString
in interfacePrimitiveIterable
- Returns:
- a string representation of this collection.
-
makeString
public java.lang.String makeString(java.lang.String separator)
Description copied from interface:PrimitiveIterable
Returns a string representation of this collection by delegating toPrimitiveIterable.makeString(String, String, String)
and defaulting the start and end parameters to""
(the empty String).- Specified by:
makeString
in interfacePrimitiveIterable
- Returns:
- a string representation of this collection.
-
makeString
public java.lang.String makeString(java.lang.String start, java.lang.String separator, java.lang.String end)
Description copied from interface:PrimitiveIterable
Returns a string representation of this collection with the elements separated by the specified separator and enclosed between the start and end strings.- Specified by:
makeString
in interfacePrimitiveIterable
- Returns:
- a string representation of this collection.
-
appendString
public void appendString(java.lang.Appendable appendable)
Description copied from interface:PrimitiveIterable
Prints a string representation of this collection onto the givenAppendable
. Prints the string returned byPrimitiveIterable.makeString()
.- Specified by:
appendString
in interfacePrimitiveIterable
-
appendString
public void appendString(java.lang.Appendable appendable, java.lang.String separator)
Description copied from interface:PrimitiveIterable
Prints a string representation of this collection onto the givenAppendable
. Prints the string returned byPrimitiveIterable.makeString(String)
.- Specified by:
appendString
in interfacePrimitiveIterable
-
appendString
public void appendString(java.lang.Appendable appendable, java.lang.String start, java.lang.String separator, java.lang.String end)
Description copied from interface:PrimitiveIterable
Prints a string representation of this collection onto the givenAppendable
. Prints the string returned byPrimitiveIterable.makeString(String, String, String)
.- Specified by:
appendString
in interfacePrimitiveIterable
-
byteIterator
public MutableByteIterator byteIterator()
Description copied from interface:ByteIterable
Returns a primitive iterator that can be used to iterate over the ByteIterable in an imperative style.- Specified by:
byteIterator
in interfaceByteIterable
- Specified by:
byteIterator
in interfaceMutableObjectByteMap<K>
-
toArray
public byte[] toArray()
Description copied from interface:ByteIterable
Converts the ByteIterable to a primitive byte array.- Specified by:
toArray
in interfaceByteIterable
-
toArray
public byte[] toArray(byte[] target)
Description copied from interface:ByteIterable
Converts the ByteIterable to a primitive byte array. If the collection fits into the provided array it is used to store its elements and is returned from the method, otherwise a new array of the appropriate size is allocated and returned. If the iterable is empty, the target array is returned unchanged.- Specified by:
toArray
in interfaceByteIterable
-
contains
public boolean contains(byte value)
Description copied from interface:ByteIterable
Returns true if the value is contained in the ByteIterable, and false if it is not.- Specified by:
contains
in interfaceByteIterable
-
containsAll
public boolean containsAll(byte... source)
Description copied from interface:ByteIterable
Returns true if all of the values specified in the source array are contained in the ByteIterable, and false if they are not.- Specified by:
containsAll
in interfaceByteIterable
-
containsAll
public boolean containsAll(ByteIterable source)
Description copied from interface:ByteIterable
Returns true if all of the values specified in the source ByteIterable are contained in the ByteIterable, and false if they are not.- Specified by:
containsAll
in interfaceByteIterable
-
clear
public void clear()
Description copied from interface:MutableObjectByteMap
Removes all entries from this map.- Specified by:
clear
in interfaceMutableObjectByteMap<K>
-
put
public void put(K key, byte value)
Description copied from interface:MutableObjectByteMap
Associates 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:
put
in interfaceMutableObjectByteMap<K>
- Parameters:
key
- the keyvalue
- the value to associate withvalue
-
putAll
public void putAll(ObjectByteMap<? extends K> map)
Description copied from interface:MutableObjectByteMap
Puts 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:
putAll
in interfaceMutableObjectByteMap<K>
- Parameters:
map
- the map to copy into this map
-
updateValues
public void updateValues(ObjectByteToByteFunction<? super K> function)
Description copied from interface:MutableObjectByteMap
Updates the values in-place.- Specified by:
updateValues
in interfaceMutableObjectByteMap<K>
- Parameters:
function
- that takes a key and its value and that returns a new value for this key
-
removeKey
public void removeKey(K key)
Description copied from interface:MutableObjectByteMap
Removes the mapping associated with the key, if one exists, from the map.- Specified by:
removeKey
in interfaceMutableObjectByteMap<K>
- Parameters:
key
- the key to remove- See Also:
MutableObjectByteMap.remove(Object)
-
removeKeyAtIndex
public void removeKeyAtIndex(K key, int index)
-
remove
public void remove(java.lang.Object key)
Description copied from interface:MutableObjectByteMap
Removes the mapping associated with the key, if one exists, from the map.- Specified by:
remove
in interfaceMutableObjectByteMap<K>
- Parameters:
key
- the key to remove- See Also:
#removeKey(K)
-
removeKeyIfAbsent
public byte removeKeyIfAbsent(K key, byte value)
Description copied from interface:MutableObjectByteMap
Removes 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:
removeKeyIfAbsent
in interfaceMutableObjectByteMap<K>
- 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
value
if not
-
getIfAbsentPut
public byte getIfAbsentPut(K key, byte value)
Description copied from interface:MutableObjectByteMap
Retrieves the value associated with the key if one exists; if it does not, associates a value with the key. a new value with they key- Specified by:
getIfAbsentPut
in interfaceMutableObjectByteMap<K>
- Parameters:
key
- the keyvalue
- the value to associate withkey
if no such mapping exists- Returns:
- the value associated with key, if one exists, or
value
if not
-
getAndPut
public byte getAndPut(K key, byte putValue, byte defaultValue)
Description copied from interface:MutableObjectByteMap
Retrieves the value associated with the key if one exists; if it does not, associates a putValue with the key.- Specified by:
getAndPut
in interfaceMutableObjectByteMap<K>
- Parameters:
key
- the keyputValue
- the value to associate withkey
if no such mapping existsdefaultValue
- the value to return if no mapping associated withkey
exists- Returns:
- the value associated with key, if one exists, or
defaultValue
if not
-
getIfAbsentPut
public byte getIfAbsentPut(K key, ByteFunction0 function)
Description copied from interface:MutableObjectByteMap
Retrieves 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:
getIfAbsentPut
in interfaceMutableObjectByteMap<K>
- 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
function
if not
-
getIfAbsentPutWith
public <P> byte getIfAbsentPutWith(K key, ByteFunction<? super P> function, P parameter)
Description copied from interface:MutableObjectByteMap
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.- Specified by:
getIfAbsentPutWith
in interfaceMutableObjectByteMap<K>
- 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 specifiedparameter
will be passed as the argument to the function.parameter
- the parameter to provide tofunction
if no value exists forkey
- Returns:
- the value associated with the key, if one exists, or the result of
invoking
function
withparameter
if not
-
getIfAbsentPutWithKey
public byte getIfAbsentPutWithKey(K key, ByteFunction<? super K> function)
Description copied from interface:MutableObjectByteMap
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.- Specified by:
getIfAbsentPutWithKey
in interfaceMutableObjectByteMap<K>
- Parameters:
key
- the keyfunction
- the function that provides the value if no mapping exists. Thekey
will be passed as the argument to the function.- Returns:
- the value associated with the key, if one exists, or the result of
invoking
function
withkey
if not
-
updateValue
public byte updateValue(K key, byte initialValueIfAbsent, ByteToByteFunction function)
Description copied from interface:MutableObjectByteMap
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.- Specified by:
updateValue
in interfaceMutableObjectByteMap<K>
- 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
function
to the value already associated with the key or as a result of applying it toinitialValueIfAbsent
and associating the result withkey
-
addKeyValueAtIndex
private void addKeyValueAtIndex(K key, byte value, int index)
-
addToValue
public byte addToValue(K key, byte toBeAdded)
- Specified by:
addToValue
in interfaceMutableObjectByteMap<K>
-
withKeyValue
public ObjectByteHashMapWithHashingStrategy<K> withKeyValue(K key1, byte value1)
Description copied from interface:MutableObjectByteMap
Associates 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:
withKeyValue
in interfaceMutableObjectByteMap<K>
- Parameters:
key1
- the keyvalue1
- the value to associate withvalue
- Returns:
- this map
- See Also:
#put(K, byte)
-
withKeysValues
public ObjectByteHashMapWithHashingStrategy<K> withKeysValues(K key1, byte value1, K key2, byte value2)
-
withKeysValues
public ObjectByteHashMapWithHashingStrategy<K> withKeysValues(K key1, byte value1, K key2, byte value2, K key3, byte value3)
-
withKeysValues
public ObjectByteHashMapWithHashingStrategy<K> withKeysValues(K key1, byte value1, K key2, byte value2, K key3, byte value3, K key4, byte value4)
-
withoutKey
public ObjectByteHashMapWithHashingStrategy<K> withoutKey(K key)
Description copied from interface:MutableObjectByteMap
Removes the mapping associated with the key, if one exists, from this map.- Specified by:
withoutKey
in interfaceMutableObjectByteMap<K>
- Parameters:
key
- the key to remove- Returns:
- this map
- See Also:
MutableObjectByteMap.remove(Object)
-
withoutAllKeys
public ObjectByteHashMapWithHashingStrategy<K> withoutAllKeys(java.lang.Iterable<? extends K> keys)
Description copied from interface:MutableObjectByteMap
Removes the mappings associated with all the keys, if they exist, from this map.- Specified by:
withoutAllKeys
in interfaceMutableObjectByteMap<K>
- Parameters:
keys
- the keys to remove- Returns:
- this map
- See Also:
MutableObjectByteMap.remove(Object)
-
asUnmodifiable
public MutableObjectByteMap<K> asUnmodifiable()
- Specified by:
asUnmodifiable
in interfaceMutableObjectByteMap<K>
-
asSynchronized
public MutableObjectByteMap<K> asSynchronized()
- Specified by:
asSynchronized
in interfaceMutableObjectByteMap<K>
-
toImmutable
public ImmutableObjectByteMap<K> toImmutable()
Description copied from interface:ObjectByteMap
Returns a copy of this map that is immutable (if this map is mutable) or itself if it is already immutable.- Specified by:
toImmutable
in interfaceObjectByteMap<K>
- Returns:
- an immutable map that is equivalent to this one
-
get
public byte get(java.lang.Object key)
Description copied from interface:ObjectByteMap
Retrieves the value associated with the key. If no mapping exists for the key, the default value (usually0
) is returned.- Specified by:
get
in interfaceObjectByteMap<K>
- Parameters:
key
- the key- Returns:
- the value associated with the key, or the default value if no such mapping exists
-
getOrThrow
public byte getOrThrow(java.lang.Object key)
Description copied from interface:ObjectByteMap
Retrieves the value associated with the key, throwing anIllegalStateException
if no such mapping exists.- Specified by:
getOrThrow
in interfaceObjectByteMap<K>
- Parameters:
key
- the key- Returns:
- the value associated with the key
-
getIfAbsent
public byte getIfAbsent(java.lang.Object key, byte ifAbsent)
Description copied from interface:ObjectByteMap
Retrieves the value associated with the key, returning the specified default value if no such mapping exists.- Specified by:
getIfAbsent
in interfaceObjectByteMap<K>
- Parameters:
key
- the keyifAbsent
- the default value to return if no mapping exists forkey
- Returns:
- the value associated with the key, or
ifAbsent
if no such mapping exists.
-
containsKey
public boolean containsKey(java.lang.Object key)
Description copied from interface:ObjectByteMap
Returns whether or not the key is present in the map.- Specified by:
containsKey
in interfaceObjectByteMap<K>
- Parameters:
key
- the key- Returns:
- if a mapping exists in this map for the key
-
containsValue
public boolean containsValue(byte value)
Description copied from interface:ObjectByteMap
Returns whether or not this map contains the value.- Specified by:
containsValue
in interfaceObjectByteMap<K>
- Parameters:
value
- the value to test- Returns:
- if this collection contains the value
-
each
public void each(ByteProcedure procedure)
Description copied from interface:ByteIterable
A synonym for forEach.- Specified by:
each
in interfaceByteIterable
-
forEachValue
public void forEachValue(ByteProcedure procedure)
Description copied from interface:ObjectByteMap
Iterates through each value in this map.- Specified by:
forEachValue
in interfaceObjectByteMap<K>
- Parameters:
procedure
- the procedure to invoke for each value in this map.
-
forEachKey
public void forEachKey(Procedure<? super K> procedure)
Description copied from interface:ObjectByteMap
Iterates through each key in the map, invoking the procedure for each.- Specified by:
forEachKey
in interfaceObjectByteMap<K>
- Parameters:
procedure
- the procedure to invoke for each key
-
forEachKeyValue
public void forEachKeyValue(ObjectByteProcedure<? super K> procedure)
Description copied from interface:ObjectByteMap
Iterates through each key/value pair in the map, invoking the procedure for each.- Specified by:
forEachKeyValue
in interfaceObjectByteMap<K>
- Parameters:
procedure
- the procedure to invoke for each key/value pair
-
select
public ObjectByteHashMapWithHashingStrategy<K> select(ObjectBytePredicate<? super K> predicate)
Description copied from interface:ObjectByteMap
Return a copy of this map containing only the key/value pairs that match the predicate.- Specified by:
select
in interfaceMutableObjectByteMap<K>
- Specified by:
select
in interfaceObjectByteMap<K>
- 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 ObjectByteHashMapWithHashingStrategy<K> reject(ObjectBytePredicate<? super K> predicate)
Description copied from interface:ObjectByteMap
Return a copy of this map containing only the key/value pairs that do not match the predicate.- Specified by:
reject
in interfaceMutableObjectByteMap<K>
- Specified by:
reject
in interfaceObjectByteMap<K>
- 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
-
select
public MutableByteCollection select(BytePredicate predicate)
Description copied from interface:ByteIterable
Returns a new ByteIterable with all of the elements in the ByteIterable that return true for the specified predicate.- Specified by:
select
in interfaceByteIterable
- Specified by:
select
in interfaceMutableObjectByteMap<K>
-
reject
public MutableByteCollection reject(BytePredicate predicate)
Description copied from interface:ByteIterable
Returns a new ByteIterable with all of the elements in the ByteIterable that return false for the specified predicate.- Specified by:
reject
in interfaceByteIterable
- Specified by:
reject
in interfaceMutableObjectByteMap<K>
-
detectIfNone
public byte detectIfNone(BytePredicate predicate, byte ifNone)
- Specified by:
detectIfNone
in interfaceByteIterable
-
collect
public <V> MutableCollection<V> collect(ByteToObjectFunction<? extends V> function)
Description copied from interface:ByteIterable
Returns a new collection with the results of applying the specified function on each element of the source collection. This method is also commonly called transform or map.- Specified by:
collect
in interfaceByteIterable
- Specified by:
collect
in interfaceMutableObjectByteMap<K>
-
count
public int count(BytePredicate predicate)
Description copied from interface:ByteIterable
Returns a count of the number of elements in the ByteIterable that return true for the specified predicate.- Specified by:
count
in interfaceByteIterable
-
anySatisfy
public boolean anySatisfy(BytePredicate predicate)
Description copied from interface:ByteIterable
Returns true if any of the elements in the ByteIterable return true for the specified predicate, otherwise returns false.- Specified by:
anySatisfy
in interfaceByteIterable
-
allSatisfy
public boolean allSatisfy(BytePredicate predicate)
Description copied from interface:ByteIterable
Returns true if all of the elements in the ByteIterable return true for the specified predicate, otherwise returns false.- Specified by:
allSatisfy
in interfaceByteIterable
-
noneSatisfy
public boolean noneSatisfy(BytePredicate predicate)
Description copied from interface:ByteIterable
Returns true if none of the elements in the ByteIterable return true for the specified predicate, otherwise returns false.- Specified by:
noneSatisfy
in interfaceByteIterable
-
injectInto
public <V> V injectInto(V injectedValue, ObjectByteToObjectFunction<? super V,? extends V> function)
- Specified by:
injectInto
in interfaceByteIterable
-
chunk
public RichIterable<ByteIterable> chunk(int size)
Description copied from interface:ByteIterable
Partitions elements in fixed size chunks.- Specified by:
chunk
in interfaceByteIterable
- Parameters:
size
- the number of elements per chunk- Returns:
- A
RichIterable
containingByteIterable
s of sizesize
, except the last will be truncated if the elements don't divide evenly.
-
sum
public long sum()
- Specified by:
sum
in interfaceByteIterable
-
max
public byte max()
- Specified by:
max
in interfaceByteIterable
-
min
public byte min()
- Specified by:
min
in interfaceByteIterable
-
maxIfEmpty
public byte maxIfEmpty(byte defaultValue)
- Specified by:
maxIfEmpty
in interfaceByteIterable
-
minIfEmpty
public byte minIfEmpty(byte defaultValue)
- Specified by:
minIfEmpty
in interfaceByteIterable
-
average
public double average()
- Specified by:
average
in interfaceByteIterable
-
median
public double median()
- Specified by:
median
in interfaceByteIterable
-
toList
public MutableByteList toList()
Description copied from interface:ByteIterable
Converts the ByteIterable to a new MutableByteList.- Specified by:
toList
in interfaceByteIterable
-
toSet
public MutableByteSet toSet()
Description copied from interface:ByteIterable
Converts the ByteIterable to a new MutableByteSet.- Specified by:
toSet
in interfaceByteIterable
-
toBag
public MutableByteBag toBag()
Description copied from interface:ByteIterable
Converts the ByteIterable to a new MutableByteBag.- Specified by:
toBag
in interfaceByteIterable
-
asLazy
public LazyByteIterable asLazy()
Description copied from interface:ByteIterable
Returns a LazyByteIterable adapter wrapping the source ByteIterable.- Specified by:
asLazy
in interfaceByteIterable
-
toSortedArray
public byte[] toSortedArray()
- Specified by:
toSortedArray
in interfaceByteIterable
-
toSortedList
public MutableByteList toSortedList()
- Specified by:
toSortedList
in interfaceByteIterable
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Specified by:
writeExternal
in interfacejava.io.Externalizable
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
- Specified by:
readExternal
in interfacejava.io.Externalizable
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
keysView
public LazyIterable<K> keysView()
Description copied from interface:ObjectByteMap
Returns 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:
keysView
in interfaceObjectByteMap<K>
- Returns:
- a view of the keys in this map
-
keyValuesView
public RichIterable<ObjectBytePair<K>> keyValuesView()
Description copied from interface:ObjectByteMap
Returns 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:
keyValuesView
in interfaceObjectByteMap<K>
- Returns:
- a view of the keys in this map
-
flipUniqueValues
public MutableByteObjectMap<K> flipUniqueValues()
Description copied from interface:ObjectByteMap
Return the ByteObjectMap that is obtained by flipping the direction of this map and making the associations from value to key.- Specified by:
flipUniqueValues
in interfaceMutableObjectByteMap<K>
- Specified by:
flipUniqueValues
in interfaceObjectByteMap<K>
-
compact
public void compact()
Rehashes 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(java.lang.Object element)
-
spread
int spread(java.lang.Object element)
-
nullSafeEquals
private boolean nullSafeEquals(K value, java.lang.Object other)
-
allocateTable
protected void allocateTable(int sizeToAllocate)
-
isRemovedKey
private static boolean isRemovedKey(java.lang.Object key)
-
isNonSentinel
private static <K> boolean isNonSentinel(K key)
-
toNonSentinel
private K toNonSentinel(java.lang.Object key)
-
toSentinelIfNull
private static java.lang.Object toSentinelIfNull(java.lang.Object key)
-
maxOccupiedWithData
private int maxOccupiedWithData()
-
keySet
public java.util.Set<K> keySet()
Description copied from interface:ObjectByteMap
Returns 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:
keySet
in interfaceObjectByteMap<K>
- Returns:
- a mutable set containing the keys in this map
-
values
public MutableByteCollection values()
Description copied from interface:ObjectByteMap
Returns 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:
values
in interfaceObjectByteMap<K>
- Returns:
- the values as a collection backed by this map
-
-