Class ConcurrentHashMap<K,V>
java.lang.Object
org.eclipse.collections.impl.AbstractRichIterable<V>
org.eclipse.collections.impl.map.AbstractMapIterable<K,V>
org.eclipse.collections.impl.map.mutable.AbstractMutableMapIterable<K,V>
org.eclipse.collections.impl.map.mutable.AbstractMutableMap<K,V>
org.eclipse.collections.impl.map.mutable.ConcurrentHashMap<K,V>
- All Implemented Interfaces:
Externalizable,Serializable,Cloneable,Iterable<V>,ConcurrentMap<K,,V> Map<K,,V> InternalIterable<V>,ConcurrentMutableMap<K,,V> MapIterable<K,,V> MutableMap<K,,V> MutableMapIterable<K,,V> UnsortedMapIterable<K,,V> RichIterable<V>
public final class ConcurrentHashMap<K,V>
extends AbstractMutableMap<K,V>
implements ConcurrentMutableMap<K,V>, Externalizable
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()MutableMap<K,V> clone()<E> MutableMap<K,V> collectKeysAndValues(Iterable<E> iterable, Function<? super E, ? extends K> keyFunction, Function<? super E, ? extends V> valueFunction) Adds all the entries derived fromiterabletothis.booleancontainsKey(Object key) booleancontainsValue(Object value) entrySet()booleanFollows the same general contract asMap.equals(Object).voidforEachKey(Procedure<? super K> procedure) Calls theprocedurewith each key of the map.voidforEachKeyValue(Procedure2<? super K, ? super V> procedure) Calls theprocedurewith each key-value pair of the map.voidforEachValue(Procedure<? super V> procedure) Calls the procedure with each value of the map.<P> voidforEachWith(Procedure2<? super V, ? super P> procedure, P parameter) The procedure2 is evaluated for each element in the iterable with the specified parameter provided as the second argument.voidforEachWithIndex(ObjectIntProcedure<? super V> objectIntProcedure) Iterates over the iterable passing each element and the current relative int index to the specified instance of ObjectIntProcedure.getIfAbsent(K key, Function0<? extends V> function) Return the value in the Map that corresponds to the specified key, or if there is no value at the key, return the result of evaluating the specified Function0.getIfAbsentPut(K key, Function<? super K, ? extends V> factory) getIfAbsentPut(K key, Function0<? extends V> factory) Get and return the value in the Map at the specified key.getIfAbsentPut(K key, V value) Get and return the value in the Map at the specified key.<P> VgetIfAbsentPutWith(K key, Function<? super P, ? extends V> function, P parameter) Get and return the value in the Map at the specified key.<P> VgetIfAbsentWith(K key, Function<? super P, ? extends V> function, P parameter) Return the value in the Map that corresponds to the specified key, or if there is no value at the key, return the result of evaluating the specified function and parameter.inthashCode()Follows the same general contract asMap.hashCode().<A> AifPresentApply(K key, Function<? super V, ? extends A> function) If there is a value in the Map that corresponds to the specified key return the result of applying the specified Function on the value, otherwise return null.booleanisEmpty()Returns true if this iterable has zero items.iterator()keySet()MutableMap<K,V> newEmpty()Creates a new instance of the same type, using the default capacity and growth parameters.<K,V> MutableMap<K, V> newEmpty(int capacity) Creates a new instance of the same type, using the given capacity and the default growth parameters.static <K,V> ConcurrentHashMap<K, V> newMap()static <K,V> ConcurrentHashMap<K, V> newMap(int newSize) static <NK,NV> ConcurrentHashMap<NK, NV> booleannotEmpty()The English equivalent of !this.isEmpty()voidparallelForEachKeyValue(List<Procedure2<K, V>> blocks, Executor executor) voidparallelForEachValue(List<Procedure<V>> blocks, Executor executor) voidvoidputAllInParallel(Map<? extends K, ? extends V> map, int chunks, Executor executor) putIfAbsent(K key, V value) <P1,P2> V putIfAbsentGetIfPresent(K key, Function2<? super K, ? super V, ? extends K> keyTransformer, Function3<P1, P2, ? super K, ? extends V> factory, P1 param1, P2 param2) It puts an object into the map based on the key.voidbooleanRemove an entry from the map at the specifiedkey.booleanintsize()Returns the number of items in this iterable.Executes the Procedure for each value of the map and returnsthis.Returns an immutable copy of this map.toString()Returns a string with the elements of the iterable separated by commas with spaces and enclosed in square brackets.Looks up the value associated withkey, applies thefunctionto it, and replaces the value.<P> VupdateValueWith(K key, Function0<? extends V> factory, Function2<? super V, ? super P, ? extends V> function, P parameter) Same asMutableMapIterable.updateValue(Object, Function0, Function)with a Function2 and specified parameter which is passed to the function.values()withAllKeyValueArguments(Pair<? extends K, ? extends V>... keyValues) Convenience var-args version of withAllKeyValueswithAllKeyValues(Iterable<? extends Pair<? extends K, ? extends V>> keyValues) This method allows mutable, fixed size, and immutable maps the ability to add elements to their existing elements.withKeyValue(K key, V value) This method allows mutable, fixed size, and immutable maps the ability to add elements to their existing elements.Similar toMap.putAll(Map), but returns this instead of voidwithMapIterable(MapIterable<? extends K, ? extends V> mapIterable) withoutAllKeys(Iterable<? extends K> keys) This method allows mutable, fixed size, and immutable maps the ability to remove elements from their existing elements.withoutKey(K key) This method allows mutable, fixed size, and immutable maps the ability to remove elements from their existing elements.voidMethods inherited from class org.eclipse.collections.impl.map.mutable.AbstractMutableMap
asSynchronized, asUnmodifiable, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectValues, collectWith, flatCollect, flip, groupBy, groupByEach, groupByUniqueKey, partition, partitionWith, reject, reject, rejectWith, select, select, selectInstancesOf, selectWith, zip, zipWithIndexMethods inherited from class org.eclipse.collections.impl.map.mutable.AbstractMutableMapIterable
aggregateBy, collect, countBy, countByEach, countByWith, detect, detectOptional, flipUniqueValues, getIfAbsentPutWithKey, keysView, keyValuesView, sumByDouble, sumByFloat, sumByInt, sumByLong, valuesViewMethods inherited from class org.eclipse.collections.impl.map.AbstractMapIterable
allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, asLazy, chunk, contains, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, each, getFirst, getIfAbsentValue, getLast, getOnly, getOrDefault, noneSatisfy, noneSatisfyWith, toArray, toArrayMethods inherited from class org.eclipse.collections.impl.AbstractRichIterable
appendString, appendString, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, containsAll, containsAllArguments, containsAllIterable, count, countWith, flatCollect, forEach, groupBy, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, into, max, max, maxBy, min, min, minBy, reject, rejectWith, select, selectWith, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toBag, toBiMap, toList, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, zip, zipWithIndexMethods inherited from interface java.util.concurrent.ConcurrentMap
compute, computeIfAbsent, computeIfPresent, forEach, merge, replaceAllMethods inherited from interface org.eclipse.collections.api.map.ConcurrentMutableMap
getOrDefaultMethods inherited from interface org.eclipse.collections.api.InternalIterable
forEachMethods inherited from interface org.eclipse.collections.api.map.MapIterable
detect, detectOptional, getIfAbsentValue, keysView, keyValuesView, parallelStream, spliterator, stream, valuesViewMethods inherited from interface org.eclipse.collections.api.map.MutableMap
aggregateBy, aggregateBy, aggregateInPlaceBy, asSynchronized, asUnmodifiable, collect, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectValues, collectWith, flatCollect, flatCollectWith, flip, flipUniqueValues, groupBy, groupByEach, groupByUniqueKey, partition, partitionWith, reject, reject, rejectWith, select, select, selectInstancesOf, selectWith, zip, zipWithIndexMethods inherited from interface org.eclipse.collections.api.map.MutableMapIterable
add, countBy, countByEach, countByWith, getIfAbsentPutWithKey, putAllMapIterable, putPair, removeAllKeys, removeIf, sumByDouble, sumByFloat, sumByInt, sumByLongMethods inherited from interface org.eclipse.collections.api.RichIterable
aggregateBy, allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, appendString, appendString, asLazy, chunk, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, containsBy, count, countBy, countByEach, countByWith, countWith, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, each, flatCollect, flatCollectBoolean, flatCollectByte, flatCollectChar, flatCollectDouble, flatCollectFloat, flatCollectInt, flatCollectLong, flatCollectShort, flatCollectWith, forEach, getAny, getFirst, getLast, getOnly, groupBy, groupByAndCollect, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, into, makeString, makeString, makeString, max, max, maxBy, maxByOptional, maxOptional, maxOptional, min, min, minBy, minByOptional, minOptional, minOptional, noneSatisfy, noneSatisfyWith, reduce, reduceInPlace, reduceInPlace, reject, rejectWith, select, selectWith, summarizeDouble, summarizeFloat, summarizeInt, summarizeLong, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toArray, toArray, toBag, toBiMap, toImmutableBag, toImmutableBiMap, toImmutableList, toImmutableMap, toImmutableSet, toImmutableSortedBag, toImmutableSortedBag, toImmutableSortedBagBy, toImmutableSortedList, toImmutableSortedList, toImmutableSortedListBy, toImmutableSortedSet, toImmutableSortedSet, toImmutableSortedSetBy, toList, toMap, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedList, toSortedList, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, zip, zipWithIndex
-
Constructor Details
-
ConcurrentHashMap
public ConcurrentHashMap() -
ConcurrentHashMap
public ConcurrentHashMap(int initialCapacity)
-
-
Method Details
-
newMap
-
newMap
-
putIfAbsent
- Specified by:
putIfAbsentin interfaceConcurrentMap<K,V> - Specified by:
putIfAbsentin interfaceMap<K,V>
-
getIfAbsentPut
-
getIfAbsentPut
Description copied from interface:MutableMapIterableGet and return the value in the Map at the specified key. Alternatively, if there is no value in the map at the key, return the result of evaluating the specified Function0, and put that value in the map at the specified key.- Specified by:
getIfAbsentPutin interfaceMutableMapIterable<K,V> - Overrides:
getIfAbsentPutin classAbstractMutableMapIterable<K,V>
-
getIfAbsentPut
Description copied from interface:MutableMapIterableGet and return the value in the Map at the specified key. Alternatively, if there is no value in the map at the key, return the specified value, and put that value in the map at the specified key.- Specified by:
getIfAbsentPutin interfaceMutableMapIterable<K,V> - Overrides:
getIfAbsentPutin classAbstractMutableMapIterable<K,V>
-
putIfAbsentGetIfPresent
public <P1,P2> V putIfAbsentGetIfPresent(K key, Function2<? super K, ? super V, ? extends K> keyTransformer, Function3<P1, P2, ? super K, ? extends V> factory, P1 param1, P2 param2) It puts an object into the map based on the key. It uses a copy of the key converted by transformer.- Parameters:
key- The "mutable" key, which has the same identity/hashcode as the inserted key, only during this callkeyTransformer- If the record is absent, the transformer will transform the "mutable" key into an immutable copy of the key. Note that the transformed key must have the same identity/hashcode as the original "mutable" key.factory- It creates an object, if it is not present in the map already.
-
remove
-
size
public int size()Description copied from interface:RichIterableReturns the number of items in this iterable. -
isEmpty
public boolean isEmpty()Description copied from interface:RichIterableReturns true if this iterable has zero items.- Specified by:
isEmptyin interfaceMap<K,V> - Specified by:
isEmptyin interfaceRichIterable<K>- Overrides:
isEmptyin classAbstractRichIterable<V>
-
containsKey
- Specified by:
containsKeyin interfaceMap<K,V> - Specified by:
containsKeyin interfaceMapIterable<K,V> - See Also:
-
containsValue
- Specified by:
containsValuein interfaceMap<K,V> - Specified by:
containsValuein interfaceMapIterable<K,V> - See Also:
-
get
-
put
-
putAllInParallel
-
putAll
-
clear
public void clear() -
keySet
-
values
-
entrySet
-
replace
-
replace
-
remove
-
parallelForEachKeyValue
-
parallelForEachValue
-
hashCode
public int hashCode()Description copied from interface:MapIterableFollows the same general contract asMap.hashCode(). -
equals
Description copied from interface:MapIterableFollows the same general contract asMap.equals(Object). -
toString
Description copied from class:AbstractRichIterableReturns a string with the elements of the iterable separated by commas with spaces and enclosed in square brackets.Assert.assertEquals("[]", Lists.mutable.empty().toString()); Assert.assertEquals("[1]", Lists.mutable.with(1).toString()); Assert.assertEquals("[1, 2, 3]", Lists.mutable.with(1, 2, 3).toString());- Specified by:
toStringin interfaceMapIterable<K,V> - Specified by:
toStringin interfaceRichIterable<K>- Overrides:
toStringin classAbstractRichIterable<V>- Returns:
- a string representation of this collection.
- See Also:
-
readExternal
- Specified by:
readExternalin interfaceExternalizable- Throws:
IOExceptionClassNotFoundException
-
writeExternal
- Specified by:
writeExternalin interfaceExternalizable- Throws:
IOException
-
newMap
-
withKeyValue
Description copied from interface:MutableMapIterableThis method allows mutable, fixed size, and immutable maps the ability to add elements to their existing elements. In order to support fixed size maps, a new instance of a map would have to be returned including the keys and values of the original plus the additional key and value. In the case of mutable maps, the original map is modified and then returned. In order to use this method properly with mutable and fixed size maps the following approach must be taken:map = map.withKeyValue("new key", "new value");In the case of FixedSizeMap, a new instance will be returned by withKeyValue, and any variables that previously referenced the original map will need to be redirected to reference the new instance. In the case of a FastMap or UnifiedMap, you will be replacing the reference to map with map, since FastMap and UnifiedMap will both return "this" after calling put on themselves.- Specified by:
withKeyValuein interfaceMutableMap<K,V> - Specified by:
withKeyValuein interfaceMutableMapIterable<K,V> - Overrides:
withKeyValuein classAbstractMutableMap<K,V> - See Also:
-
withMap
Description copied from interface:MutableMapIterableSimilar toMap.putAll(Map), but returns this instead of void- Specified by:
withMapin interfaceConcurrentMutableMap<K,V> - Specified by:
withMapin interfaceMutableMap<K,V> - Specified by:
withMapin interfaceMutableMapIterable<K,V> - See Also:
-
withMapIterable
- Specified by:
withMapIterablein interfaceConcurrentMutableMap<K,V> - Specified by:
withMapIterablein interfaceMutableMap<K,V> - Specified by:
withMapIterablein interfaceMutableMapIterable<K,V>
-
withAllKeyValues
public ConcurrentHashMap<K,V> withAllKeyValues(Iterable<? extends Pair<? extends K, ? extends V>> keyValues) Description copied from interface:MutableMapIterableThis method allows mutable, fixed size, and immutable maps the ability to add elements to their existing elements. In order to support fixed size maps, a new instance of a map would have to be returned including the keys and values of the original plus all of the additional keys and values. In the case of mutable maps, the original map is modified and then returned. In order to use this method properly with mutable and fixed size maps the following approach must be taken:map = map.withAllKeyValues(FastList.newListWith(PairImpl.of("new key", "new value")));In the case of FixedSizeMap, a new instance will be returned by withAllKeyValues, and any variables that previously referenced the original map will need to be redirected to reference the new instance. In the case of a FastMap or UnifiedMap, you will be replacing the reference to map with map, since FastMap and UnifiedMap will both return "this" after calling put on themselves.- Specified by:
withAllKeyValuesin interfaceMutableMap<K,V> - Specified by:
withAllKeyValuesin interfaceMutableMapIterable<K,V> - Overrides:
withAllKeyValuesin classAbstractMutableMap<K,V> - See Also:
-
withAllKeyValueArguments
Description copied from interface:MutableMapIterableConvenience var-args version of withAllKeyValues- Specified by:
withAllKeyValueArgumentsin interfaceMutableMap<K,V> - Specified by:
withAllKeyValueArgumentsin interfaceMutableMapIterable<K,V> - Overrides:
withAllKeyValueArgumentsin classAbstractMutableMap<K,V> - See Also:
-
withoutKey
Description copied from interface:MutableMapIterableThis method allows mutable, fixed size, and immutable maps the ability to remove elements from their existing elements. In order to support fixed size maps, a new instance of a map would have to be returned including the keys and values of the original minus the key and value to be removed. In the case of mutable maps, the original map is modified and then returned. In order to use this method properly with mutable and fixed size maps the following approach must be taken:map = map.withoutKey("key");In the case of FixedSizeMap, a new instance will be returned by withoutKey, and any variables that previously referenced the original map will need to be redirected to reference the new instance. In the case of a FastMap or UnifiedMap, you will be replacing the reference to map with map, since FastMap and UnifiedMap will both return "this" after calling remove on themselves.- Specified by:
withoutKeyin interfaceMutableMap<K,V> - Specified by:
withoutKeyin interfaceMutableMapIterable<K,V> - Overrides:
withoutKeyin classAbstractMutableMap<K,V> - See Also:
-
withoutAllKeys
Description copied from interface:MutableMapIterableThis method allows mutable, fixed size, and immutable maps the ability to remove elements from their existing elements. In order to support fixed size maps, a new instance of a map would have to be returned including the keys and values of the original minus all of the keys and values to be removed. In the case of mutable maps, the original map is modified and then returned. In order to use this method properly with mutable and fixed size maps the following approach must be taken:map = map.withoutAllKeys(FastList.newListWith("key1", "key2"));In the case of FixedSizeMap, a new instance will be returned by withoutAllKeys, and any variables that previously referenced the original map will need to be redirected to reference the new instance. In the case of a FastMap or UnifiedMap, you will be replacing the reference to map with map, since FastMap and UnifiedMap will both return "this" after calling remove on themselves.- Specified by:
withoutAllKeysin interfaceMutableMap<K,V> - Specified by:
withoutAllKeysin interfaceMutableMapIterable<K,V> - Overrides:
withoutAllKeysin classAbstractMutableMap<K,V> - See Also:
-
clone
- Specified by:
clonein interfaceMutableMap<K,V> - Specified by:
clonein classAbstractMutableMap<K,V>
-
newEmpty
Description copied from class:AbstractMutableMapCreates a new instance of the same type, using the given capacity and the default growth parameters.- Specified by:
newEmptyin classAbstractMutableMap<K,V>
-
notEmpty
public boolean notEmpty()Description copied from interface:RichIterableThe English equivalent of !this.isEmpty()- Specified by:
notEmptyin interfaceRichIterable<K>
-
forEachWithIndex
Description copied from interface:InternalIterableIterates over the iterable passing each element and the current relative int index to the specified instance of ObjectIntProcedure.Example using a Java 8 lambda:
people.forEachWithIndex((Person person, int index) -> LOGGER.info("Index: " + index + " person: " + person.getName()));Example using an anonymous inner class:
people.forEachWithIndex(new ObjectIntProcedure<Person>() { public void value(Person person, int index) { LOGGER.info("Index: " + index + " person: " + person.getName()); } });- Specified by:
forEachWithIndexin interfaceInternalIterable<K>- Overrides:
forEachWithIndexin classAbstractMapIterable<K,V>
-
iterator
-
newEmpty
Description copied from interface:MutableMapIterableCreates a new instance of the same type, using the default capacity and growth parameters.- Specified by:
newEmptyin interfaceMutableMap<K,V> - Specified by:
newEmptyin interfaceMutableMapIterable<K,V>
-
tap
Description copied from interface:MapIterableExecutes the Procedure for each value of the map and returnsthis.return peopleByCity.tap(person -> LOGGER.info(person.getName()));
- Specified by:
tapin interfaceConcurrentMutableMap<K,V> - Specified by:
tapin interfaceMapIterable<K,V> - Specified by:
tapin interfaceMutableMap<K,V> - Specified by:
tapin interfaceMutableMapIterable<K,V> - Specified by:
tapin interfaceRichIterable<K>- Specified by:
tapin interfaceUnsortedMapIterable<K,V> - Overrides:
tapin classAbstractMutableMap<K,V> - See Also:
-
forEachValue
Description copied from interface:MapIterableCalls the procedure with each value of the map.Set<String> result = UnifiedSet.newSet(); MutableMap<Integer, String> map = this.newMapWithKeysValues(1, "One", 2, "Two", 3, "Three", 4, "Four"); map.forEachValue(new CollectionAddProcedure<String>(result)); Verify.assertSetsEqual(UnifiedSet.newSetWith("One", "Two", "Three", "Four"), result);- Specified by:
forEachValuein interfaceMapIterable<K,V> - Overrides:
forEachValuein classAbstractMapIterable<K,V>
-
forEachKey
Description copied from interface:MapIterableCalls theprocedurewith each key of the map.final Collection<Integer> result = new ArrayList<Integer>(); MutableMap<Integer, String> map = this.newMapWithKeysValues(1, "1", 2, "2", 3, "3"); map.forEachKey(new CollectionAddProcedure<Integer>(result)); Verify.assertContainsAll(result, 1, 2, 3);- Specified by:
forEachKeyin interfaceMapIterable<K,V> - Overrides:
forEachKeyin classAbstractMapIterable<K,V>
-
forEachKeyValue
Description copied from interface:MapIterableCalls theprocedurewith each key-value pair of the map.final Collection<String> collection = new ArrayList<String>(); MutableMap<Integer, String> map = this.newMapWithKeysValues(1, "One", 2, "Two", 3, "Three"); map.forEachKeyValue((Integer key, String value) -> collection.add(String.valueOf(key) + value)); Verify.assertContainsAll(collection, "1One", "2Two", "3Three");- Specified by:
forEachKeyValuein interfaceMapIterable<K,V>
-
collectKeysAndValues
public <E> MutableMap<K,V> collectKeysAndValues(Iterable<E> iterable, Function<? super E, ? extends K> keyFunction, Function<? super E, ? extends V> valueFunction) Description copied from interface:MutableMapAdds all the entries derived fromiterabletothis. The key and value for each entry is determined by applying thekeyFunctionandvalueFunctionto each item incollection. Any entry inmapthat has the same key as an entry inthiswill have its value replaced by that inmap.- Specified by:
collectKeysAndValuesin interfaceMutableMap<K,V>
-
removeKey
Description copied from interface:MutableMapIterableRemove an entry from the map at the specifiedkey.- Specified by:
removeKeyin interfaceMutableMapIterable<K,V> - Returns:
- The value removed from entry at key, or null if not found.
- See Also:
-
getIfAbsentPutWith
Description copied from interface:MutableMapIterableGet and return the value in the Map at the specified key. Alternatively, if there is no value in the map for that key return the result of evaluating the specified Function using the specified parameter, and put that value in the map at the specified key.- Specified by:
getIfAbsentPutWithin interfaceMutableMapIterable<K,V> - Overrides:
getIfAbsentPutWithin classAbstractMutableMapIterable<K,V>
-
getIfAbsent
Description copied from interface:MapIterableReturn the value in the Map that corresponds to the specified key, or if there is no value at the key, return the result of evaluating the specified Function0.- Specified by:
getIfAbsentin interfaceMapIterable<K,V> - Overrides:
getIfAbsentin classAbstractMapIterable<K,V>
-
getIfAbsentWith
Description copied from interface:MapIterableReturn the value in the Map that corresponds to the specified key, or if there is no value at the key, return the result of evaluating the specified function and parameter.- Specified by:
getIfAbsentWithin interfaceMapIterable<K,V> - Overrides:
getIfAbsentWithin classAbstractMapIterable<K,V>
-
ifPresentApply
Description copied from interface:MapIterableIf there is a value in the Map that corresponds to the specified key return the result of applying the specified Function on the value, otherwise return null.- Specified by:
ifPresentApplyin interfaceMapIterable<K,V> - Overrides:
ifPresentApplyin classAbstractMapIterable<K,V>
-
forEachWith
Description copied from interface:InternalIterableThe procedure2 is evaluated for each element in the iterable with the specified parameter provided as the second argument.Example using a Java 8 lambda:
people.forEachWith((Person person, Person other) -> { if (person.isRelatedTo(other)) { LOGGER.info(person.getName()); } }, fred);Example using an anonymous inner class:
people.forEachWith(new Procedure2<Person, Person>() { public void value(Person person, Person other) { if (person.isRelatedTo(other)) { LOGGER.info(person.getName()); } } }, fred);- Specified by:
forEachWithin interfaceInternalIterable<K>- Overrides:
forEachWithin classAbstractMapIterable<K,V>
-
updateValue
public V updateValue(K key, Function0<? extends V> factory, Function<? super V, ? extends V> function) Description copied from interface:MutableMapIterableLooks up the value associated withkey, applies thefunctionto it, and replaces the value. If there is no value associated withkey, starts it off with a value supplied byfactory.- Specified by:
updateValuein interfaceMutableMapIterable<K,V> - Overrides:
updateValuein classAbstractMutableMapIterable<K,V>
-
updateValueWith
public <P> V updateValueWith(K key, Function0<? extends V> factory, Function2<? super V, ? super P, ? extends V> function, P parameter) Description copied from interface:MutableMapIterableSame asMutableMapIterable.updateValue(Object, Function0, Function)with a Function2 and specified parameter which is passed to the function.- Specified by:
updateValueWithin interfaceMutableMapIterable<K,V> - Overrides:
updateValueWithin classAbstractMutableMapIterable<K,V>
-
toImmutable
Description copied from interface:MutableMapIterableReturns an immutable copy of this map. If the map is immutable, it returns itself.- Specified by:
toImmutablein interfaceMapIterable<K,V> - Specified by:
toImmutablein interfaceMutableMapIterable<K,V> - Specified by:
toImmutablein interfaceUnsortedMapIterable<K,V> - Overrides:
toImmutablein classAbstractMutableMap<K,V>
-