Class ImmutableUnifiedMapWithHashingStrategy<K,V>
- java.lang.Object
-
- org.eclipse.collections.impl.AbstractRichIterable<V>
-
- org.eclipse.collections.impl.map.AbstractMapIterable<K,V>
-
- org.eclipse.collections.impl.map.immutable.AbstractImmutableMap<K,V>
-
- org.eclipse.collections.impl.map.strategy.immutable.ImmutableUnifiedMapWithHashingStrategy<K,V>
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Iterable<V>
,java.util.Map<K,V>
,InternalIterable<V>
,ImmutableMap<K,V>
,ImmutableMapIterable<K,V>
,MapIterable<K,V>
,UnsortedMapIterable<K,V>
,RichIterable<V>
,BatchIterable<V>
public class ImmutableUnifiedMapWithHashingStrategy<K,V> extends AbstractImmutableMap<K,V> implements BatchIterable<V>, java.io.Serializable
- See Also:
ImmutableMap
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private UnifiedMapWithHashingStrategy<K,V>
delegate
private static long
serialVersionUID
-
Constructor Summary
Constructors Constructor Description ImmutableUnifiedMapWithHashingStrategy(HashingStrategy<? super K> hashingStrategy, Pair<K,V>... pairs)
ImmutableUnifiedMapWithHashingStrategy(UnifiedMapWithHashingStrategy<K,V> delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
batchForEach(Procedure<? super V> procedure, int sectionIndex, int sectionCount)
<R> ImmutableMap<K,R>
collectValues(Function2<? super K,? super V,? extends R> function)
For each key and value of the map the function is evaluated.boolean
containsKey(java.lang.Object key)
boolean
containsValue(java.lang.Object value)
java.util.Set<java.util.Map.Entry<K,V>>
entrySet()
boolean
equals(java.lang.Object o)
Follows the same general contract asMap.equals(Object)
.void
forEachKey(Procedure<? super K> procedure)
Calls theprocedure
with each key of the map.void
forEachKeyValue(Procedure2<? super K,? super V> procedure)
Calls theprocedure
with each key-value pair of the map.void
forEachValue(Procedure<? super V> procedure)
Calls the procedure with each value of the map.<P> void
forEachWith(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.void
forEachWithIndex(ObjectIntProcedure<? super V> objectIntProcedure)
Iterates over the iterable passing each element and the current relative int index to the specified instance of ObjectIntProcedure.V
get(java.lang.Object key)
int
getBatchCount(int batchSize)
int
hashCode()
Follows the same general contract asMap.hashCode()
.java.util.Set<K>
keySet()
RichIterable<K>
keysView()
Returns an unmodifiable lazy iterable wrapped around the keySet for the map.RichIterable<Pair<K,V>>
keyValuesView()
Returns an unmodifiable lazy iterable of key/value pairs wrapped around the entrySet for the map.ImmutableMap<K,V>
newWithAllKeyValueArguments(Pair<? extends K,? extends V>... keyValuePairs)
ImmutableMap<K,V>
newWithAllKeyValues(java.lang.Iterable<? extends Pair<? extends K,? extends V>> keyValues)
ImmutableMap<K,V>
newWithKeyValue(K key, V value)
ImmutableMap<K,V>
newWithMap(java.util.Map<? extends K,? extends V> map)
ImmutableMap<K,V>
newWithMapIterable(MapIterable<? extends K,? extends V> mapIterable)
ImmutableMap<K,V>
newWithoutAllKeys(java.lang.Iterable<? extends K> keys)
ImmutableMap<K,V>
newWithoutKey(K key)
ImmutableMap<K,V>
reject(Predicate2<? super K,? super V> predicate)
For each key and value of the map the predicate is evaluated, if the result of the evaluation is false, that key and value are returned in a new map.ImmutableMap<K,V>
select(Predicate2<? super K,? super V> predicate)
For each key and value of the map the predicate is evaluated, if the result of the evaluation is true, that key and value are returned in a new map.int
size()
Returns the number of items in this iterable.java.lang.String
toString()
Returns a string with the elements of the iterable separated by commas with spaces and enclosed in square brackets.java.util.Collection<V>
values()
RichIterable<V>
valuesView()
Returns an unmodifiable lazy iterable wrapped around the values for the map.protected java.lang.Object
writeReplace()
-
Methods inherited from class org.eclipse.collections.impl.map.immutable.AbstractImmutableMap
aggregateBy, castToMap, clear, collect, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, countBy, countByEach, countByWith, detect, detectOptional, flatCollect, flip, flipUniqueValues, groupBy, groupByEach, groupByUniqueKey, iterator, partition, partitionWith, put, putAll, reject, rejectWith, remove, select, selectInstancesOf, selectWith, sumByDouble, sumByFloat, sumByInt, sumByLong, tap, toImmutable, toMap, zip, zipWithIndex
-
Methods inherited from class org.eclipse.collections.impl.map.AbstractMapIterable
allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, asLazy, chunk, contains, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, each, getFirst, getIfAbsent, getIfAbsentValue, getIfAbsentWith, getLast, getOnly, getOrDefault, ifPresentApply, isAbsent, keyAndValueEquals, keyAndValueHashCode, noneSatisfy, noneSatisfyWith, toArray, toArray
-
Methods inherited from class org.eclipse.collections.impl.AbstractRichIterable
appendString, appendString, collect, collectIf, collectWith, containsAll, containsAllArguments, containsAllIterable, count, countWith, flatCollect, forEach, groupBy, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, into, isEmpty, 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, zipWithIndex
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.collections.impl.parallel.BatchIterable
forEach
-
Methods inherited from interface org.eclipse.collections.api.map.ImmutableMap
aggregateBy, aggregateInPlaceBy, flatCollectWith
-
Methods inherited from interface org.eclipse.collections.api.InternalIterable
forEach
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, isEmpty, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Methods inherited from interface org.eclipse.collections.api.map.MapIterable
getIfAbsent, getIfAbsentValue, getIfAbsentWith, getOrDefault, ifPresentApply, injectIntoKeyValue, parallelStream, spliterator, stream
-
Methods 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, containsAny, containsAnyIterable, containsBy, containsNone, containsNoneIterable, 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, injectIntoDouble, injectIntoFloat, injectIntoInt, injectIntoLong, into, isEmpty, makeString, makeString, makeString, makeString, max, max, maxBy, maxByOptional, maxOptional, maxOptional, min, min, minBy, minByOptional, minOptional, minOptional, noneSatisfy, noneSatisfyWith, notEmpty, 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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
delegate
private final UnifiedMapWithHashingStrategy<K,V> delegate
-
-
Constructor Detail
-
ImmutableUnifiedMapWithHashingStrategy
public ImmutableUnifiedMapWithHashingStrategy(UnifiedMapWithHashingStrategy<K,V> delegate)
-
ImmutableUnifiedMapWithHashingStrategy
public ImmutableUnifiedMapWithHashingStrategy(HashingStrategy<? super K> hashingStrategy, Pair<K,V>... pairs)
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object o)
Description copied from interface:MapIterable
Follows the same general contract asMap.equals(Object)
.
-
hashCode
public int hashCode()
Description copied from interface:MapIterable
Follows the same general contract asMap.hashCode()
.
-
toString
public java.lang.String toString()
Description copied from class:AbstractRichIterable
Returns 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:
toString
in interfaceMapIterable<K,V>
- Specified by:
toString
in interfaceRichIterable<K>
- Overrides:
toString
in classAbstractRichIterable<V>
- Returns:
- a string representation of this collection.
- See Also:
AbstractCollection.toString()
-
size
public int size()
Description copied from interface:RichIterable
Returns the number of items in this iterable.- Specified by:
size
in interfaceBatchIterable<K>
- Specified by:
size
in interfacejava.util.Map<K,V>
- Specified by:
size
in interfaceRichIterable<K>
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKey
in interfacejava.util.Map<K,V>
- Specified by:
containsKey
in interfaceMapIterable<K,V>
- See Also:
Map.containsKey(Object)
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValue
in interfacejava.util.Map<K,V>
- Specified by:
containsValue
in interfaceMapIterable<K,V>
- See Also:
Map.containsValue(Object)
-
get
public V get(java.lang.Object key)
-
getBatchCount
public int getBatchCount(int batchSize)
- Specified by:
getBatchCount
in interfaceBatchIterable<K>
-
batchForEach
public void batchForEach(Procedure<? super V> procedure, int sectionIndex, int sectionCount)
- Specified by:
batchForEach
in interfaceBatchIterable<K>
-
forEachValue
public void forEachValue(Procedure<? super V> procedure)
Description copied from interface:MapIterable
Calls 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:
forEachValue
in interfaceMapIterable<K,V>
- Overrides:
forEachValue
in classAbstractMapIterable<K,V>
-
forEachKey
public void forEachKey(Procedure<? super K> procedure)
Description copied from interface:MapIterable
Calls theprocedure
with 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:
forEachKey
in interfaceMapIterable<K,V>
- Overrides:
forEachKey
in classAbstractMapIterable<K,V>
-
forEachKeyValue
public void forEachKeyValue(Procedure2<? super K,? super V> procedure)
Description copied from interface:MapIterable
Calls theprocedure
with 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:
forEachKeyValue
in interfaceMapIterable<K,V>
-
values
public java.util.Collection<V> values()
-
keysView
public RichIterable<K> keysView()
Description copied from interface:MapIterable
Returns an unmodifiable lazy iterable wrapped around the keySet for the map.- Specified by:
keysView
in interfaceMapIterable<K,V>
-
valuesView
public RichIterable<V> valuesView()
Description copied from interface:MapIterable
Returns an unmodifiable lazy iterable wrapped around the values for the map.- Specified by:
valuesView
in interfaceMapIterable<K,V>
-
keyValuesView
public RichIterable<Pair<K,V>> keyValuesView()
Description copied from interface:MapIterable
Returns an unmodifiable lazy iterable of key/value pairs wrapped around the entrySet for the map.- Specified by:
keyValuesView
in interfaceMapIterable<K,V>
-
forEachWithIndex
public void forEachWithIndex(ObjectIntProcedure<? super V> objectIntProcedure)
Description copied from interface:InternalIterable
Iterates 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:
forEachWithIndex
in interfaceInternalIterable<K>
- Overrides:
forEachWithIndex
in classAbstractMapIterable<K,V>
-
forEachWith
public <P> void forEachWith(Procedure2<? super V,? super P> procedure, P parameter)
Description copied from interface:InternalIterable
The 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:
forEachWith
in interfaceInternalIterable<K>
- Overrides:
forEachWith
in classAbstractMapIterable<K,V>
-
newWithKeyValue
public ImmutableMap<K,V> newWithKeyValue(K key, V value)
- Specified by:
newWithKeyValue
in interfaceImmutableMap<K,V>
- Specified by:
newWithKeyValue
in interfaceImmutableMapIterable<K,V>
- Overrides:
newWithKeyValue
in classAbstractImmutableMap<K,V>
-
newWithAllKeyValues
public ImmutableMap<K,V> newWithAllKeyValues(java.lang.Iterable<? extends Pair<? extends K,? extends V>> keyValues)
- Specified by:
newWithAllKeyValues
in interfaceImmutableMap<K,V>
- Specified by:
newWithAllKeyValues
in interfaceImmutableMapIterable<K,V>
- Overrides:
newWithAllKeyValues
in classAbstractImmutableMap<K,V>
-
newWithMap
public ImmutableMap<K,V> newWithMap(java.util.Map<? extends K,? extends V> map)
- Specified by:
newWithMap
in interfaceImmutableMap<K,V>
- Specified by:
newWithMap
in interfaceImmutableMapIterable<K,V>
- Overrides:
newWithMap
in classAbstractImmutableMap<K,V>
-
newWithMapIterable
public ImmutableMap<K,V> newWithMapIterable(MapIterable<? extends K,? extends V> mapIterable)
- Specified by:
newWithMapIterable
in interfaceImmutableMap<K,V>
- Specified by:
newWithMapIterable
in interfaceImmutableMapIterable<K,V>
- Overrides:
newWithMapIterable
in classAbstractImmutableMap<K,V>
-
newWithAllKeyValueArguments
public ImmutableMap<K,V> newWithAllKeyValueArguments(Pair<? extends K,? extends V>... keyValuePairs)
- Specified by:
newWithAllKeyValueArguments
in interfaceImmutableMap<K,V>
- Specified by:
newWithAllKeyValueArguments
in interfaceImmutableMapIterable<K,V>
- Overrides:
newWithAllKeyValueArguments
in classAbstractImmutableMap<K,V>
-
newWithoutKey
public ImmutableMap<K,V> newWithoutKey(K key)
- Specified by:
newWithoutKey
in interfaceImmutableMap<K,V>
- Specified by:
newWithoutKey
in interfaceImmutableMapIterable<K,V>
- Overrides:
newWithoutKey
in classAbstractImmutableMap<K,V>
-
newWithoutAllKeys
public ImmutableMap<K,V> newWithoutAllKeys(java.lang.Iterable<? extends K> keys)
- Specified by:
newWithoutAllKeys
in interfaceImmutableMap<K,V>
- Specified by:
newWithoutAllKeys
in interfaceImmutableMapIterable<K,V>
- Overrides:
newWithoutAllKeys
in classAbstractImmutableMap<K,V>
-
collectValues
public <R> ImmutableMap<K,R> collectValues(Function2<? super K,? super V,? extends R> function)
Description copied from interface:MapIterable
For each key and value of the map the function is evaluated. The results of these evaluations are returned in a new map. The map returned will use the values projected from the function rather than the original values.MapIterable<City, String> collected = peopleByCity.collectValues((City city, Person person) -> person.getFirstName() + " " + person.getLastName());
- Specified by:
collectValues
in interfaceImmutableMap<K,V>
- Specified by:
collectValues
in interfaceImmutableMapIterable<K,V>
- Specified by:
collectValues
in interfaceMapIterable<K,V>
- Specified by:
collectValues
in interfaceUnsortedMapIterable<K,V>
- Overrides:
collectValues
in classAbstractImmutableMap<K,V>
-
select
public ImmutableMap<K,V> select(Predicate2<? super K,? super V> predicate)
Description copied from interface:MapIterable
For each key and value of the map the predicate is evaluated, if the result of the evaluation is true, that key and value are returned in a new map.MapIterable<City, Person> selected = peopleByCity.select((city, person) -> city.getName().equals("Anytown") && person.getLastName().equals("Smith"));
- Specified by:
select
in interfaceImmutableMap<K,V>
- Specified by:
select
in interfaceImmutableMapIterable<K,V>
- Specified by:
select
in interfaceMapIterable<K,V>
- Specified by:
select
in interfaceUnsortedMapIterable<K,V>
- Overrides:
select
in classAbstractImmutableMap<K,V>
-
reject
public ImmutableMap<K,V> reject(Predicate2<? super K,? super V> predicate)
Description copied from interface:MapIterable
For each key and value of the map the predicate is evaluated, if the result of the evaluation is false, that key and value are returned in a new map.MapIterable<City, Person> rejected = peopleByCity.reject((city, person) -> city.getName().equals("Anytown") && person.getLastName().equals("Smith"));
- Specified by:
reject
in interfaceImmutableMap<K,V>
- Specified by:
reject
in interfaceImmutableMapIterable<K,V>
- Specified by:
reject
in interfaceMapIterable<K,V>
- Specified by:
reject
in interfaceUnsortedMapIterable<K,V>
- Overrides:
reject
in classAbstractImmutableMap<K,V>
-
writeReplace
protected java.lang.Object writeReplace()
-
-