Class ImmutableDoubletonMap<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.immutable.ImmutableDoubletonMap<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>
final class ImmutableDoubletonMap<K,V> extends AbstractImmutableMap<K,V> implements java.io.Serializable
-
-
Constructor Summary
Constructors Constructor Description ImmutableDoubletonMap(K key1, V value1, K key2, V value2)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <K2,V2>
ImmutableMap<K2,V2>collect(Function2<? super K,? super V,Pair<K2,V2>> function)For each key and value of the map the function is evaluated.<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.booleancontainsKey(java.lang.Object key)booleancontainsValue(java.lang.Object value)Pair<K,V>detect(Predicate2<? super K,? super V> predicate)Return the first key and value of the map for which the predicate evaluates to true when they are given as arguments.booleanequals(java.lang.Object other)Follows the same general contract asMap.equals(Object).private ImmutableMap<K,V>filter(Predicate2<? super K,? super V> predicate)ImmutableMap<V,K>flipUniqueValues()Return the MapIterable that is obtained by flipping the direction of this map and making the associations from value to key.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.Vget(java.lang.Object key)VgetOnly()Returns the element if the iterable has exactly one element.inthashCode()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>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.intsize()Returns the number of items in this iterable.java.lang.StringtoString()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.private java.lang.ObjectwriteReplace()-
Methods inherited from class org.eclipse.collections.impl.map.immutable.AbstractImmutableMap
aggregateBy, castToMap, clear, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectKeysUnique, collectLong, collectShort, collectWith, countBy, countByEach, countByWith, detectOptional, entrySet, flatCollect, flip, forEach, groupBy, groupByEach, groupByUniqueKey, iterator, newWithAllKeyValueArguments, newWithAllKeyValues, newWithKeyValue, newWithMap, newWithMapIterable, newWithoutAllKeys, newWithoutKey, 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, 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.api.map.ImmutableMap
aggregateBy, aggregateInPlaceBy, flatCollectWith, reduceBy
-
Methods inherited from interface org.eclipse.collections.api.InternalIterable
forEach
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, 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, 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, reduceBy, 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
-
key1
private final K key1
-
value1
private final V value1
-
key2
private final K key2
-
value2
private final V value2
-
-
Method Detail
-
size
public int size()
Description copied from interface:RichIterableReturns the number of items in this iterable.- Specified by:
sizein interfacejava.util.Map<K,V>- Specified by:
sizein interfaceRichIterable<K>
-
keysView
public RichIterable<K> keysView()
Description copied from interface:MapIterableReturns an unmodifiable lazy iterable wrapped around the keySet for the map.- Specified by:
keysViewin interfaceMapIterable<K,V>
-
valuesView
public RichIterable<V> valuesView()
Description copied from interface:MapIterableReturns an unmodifiable lazy iterable wrapped around the values for the map.- Specified by:
valuesViewin interfaceMapIterable<K,V>
-
keyValuesView
public RichIterable<Pair<K,V>> keyValuesView()
Description copied from interface:MapIterableReturns an unmodifiable lazy iterable of key/value pairs wrapped around the entrySet for the map.- Specified by:
keyValuesViewin interfaceMapIterable<K,V>
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKeyin interfacejava.util.Map<K,V>- Specified by:
containsKeyin interfaceMapIterable<K,V>- See Also:
Map.containsKey(Object)
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValuein interfacejava.util.Map<K,V>- Specified by:
containsValuein interfaceMapIterable<K,V>- See Also:
Map.containsValue(Object)
-
get
public V get(java.lang.Object key)
-
values
public java.util.Collection<V> values()
-
hashCode
public int hashCode()
Description copied from interface:MapIterableFollows the same general contract asMap.hashCode().
-
equals
public boolean equals(java.lang.Object other)
Description copied from interface:MapIterableFollows the same general contract asMap.equals(Object).
-
toString
public java.lang.String 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:
AbstractCollection.toString()
-
flipUniqueValues
public ImmutableMap<V,K> flipUniqueValues()
Description copied from interface:MapIterableReturn the MapIterable that is obtained by flipping the direction of this map and making the associations from value to key.MapIterable<Integer, String> map = this.newMapWithKeysValues(1, "1", 2, "2", 3, "3"); MapIterable<String, Integer> result = map.flipUniqueValues(); Assert.assertTrue(result.equals(UnifiedMap.newWithKeysValues("1", 1, "2", 2, "3", 3)));- Specified by:
flipUniqueValuesin interfaceImmutableMap<K,V>- Specified by:
flipUniqueValuesin interfaceImmutableMapIterable<K,V>- Specified by:
flipUniqueValuesin interfaceMapIterable<K,V>- Specified by:
flipUniqueValuesin interfaceUnsortedMapIterable<K,V>- Overrides:
flipUniqueValuesin classAbstractImmutableMap<K,V>
-
forEachKeyValue
public void forEachKeyValue(Procedure2<? super K,? super V> procedure)
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>
-
forEachKey
public void forEachKey(Procedure<? super K> procedure)
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>
-
forEachValue
public void forEachValue(Procedure<? super V> procedure)
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>
-
forEachWithIndex
public void forEachWithIndex(ObjectIntProcedure<? super V> objectIntProcedure)
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>
-
forEachWith
public <P> void forEachWith(Procedure2<? super V,? super P> procedure, P parameter)
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>
-
collect
public <K2,V2> ImmutableMap<K2,V2> collect(Function2<? super K,? super V,Pair<K2,V2>> function)
Description copied from interface:MapIterableFor 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<String, String> collected = peopleByCity.collect((City city, Person person) -> Pair.of(city.getCountry(), person.getAddress().getCity()));- Specified by:
collectin interfaceImmutableMap<K,V>- Specified by:
collectin interfaceImmutableMapIterable<K,V>- Specified by:
collectin interfaceMapIterable<K,V>- Specified by:
collectin interfaceUnsortedMapIterable<K,V>- Overrides:
collectin classAbstractImmutableMap<K,V>
-
collectValues
public <R> ImmutableMap<K,R> collectValues(Function2<? super K,? super V,? extends R> function)
Description copied from interface:MapIterableFor 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:
collectValuesin interfaceImmutableMap<K,V>- Specified by:
collectValuesin interfaceImmutableMapIterable<K,V>- Specified by:
collectValuesin interfaceMapIterable<K,V>- Specified by:
collectValuesin interfaceUnsortedMapIterable<K,V>- Overrides:
collectValuesin classAbstractImmutableMap<K,V>
-
detect
public Pair<K,V> detect(Predicate2<? super K,? super V> predicate)
Description copied from interface:MapIterableReturn the first key and value of the map for which the predicate evaluates to true when they are given as arguments. The predicate will only be evaluated until such pair is found or until all the keys and values of the map have been used as arguments. That is, there may be keys and values of the map that are never used as arguments to the predicate. The result is null if predicate does not evaluate to true for any key/value combination.Pair<City, Person> detected = peopleByCity.detect((City city, Person person) -> city.getName().equals("Anytown") && person.getLastName().equals("Smith"));- Specified by:
detectin interfaceMapIterable<K,V>- Overrides:
detectin classAbstractImmutableMap<K,V>
-
select
public ImmutableMap<K,V> select(Predicate2<? super K,? super V> predicate)
Description copied from interface:MapIterableFor 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:
selectin interfaceImmutableMap<K,V>- Specified by:
selectin interfaceImmutableMapIterable<K,V>- Specified by:
selectin interfaceMapIterable<K,V>- Specified by:
selectin interfaceUnsortedMapIterable<K,V>- Overrides:
selectin classAbstractImmutableMap<K,V>
-
reject
public ImmutableMap<K,V> reject(Predicate2<? super K,? super V> predicate)
Description copied from interface:MapIterableFor 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:
rejectin interfaceImmutableMap<K,V>- Specified by:
rejectin interfaceImmutableMapIterable<K,V>- Specified by:
rejectin interfaceMapIterable<K,V>- Specified by:
rejectin interfaceUnsortedMapIterable<K,V>- Overrides:
rejectin classAbstractImmutableMap<K,V>
-
filter
private ImmutableMap<K,V> filter(Predicate2<? super K,? super V> predicate)
-
getOnly
public V getOnly()
Description copied from interface:RichIterableReturns the element if the iterable has exactly one element. Otherwise, throwIllegalStateException.- Specified by:
getOnlyin interfaceRichIterable<K>- Overrides:
getOnlyin classAbstractMapIterable<K,V>- Returns:
- an element of an iterable.
-
writeReplace
private java.lang.Object writeReplace()
-
-