InternalIterable<K>
, java.lang.Iterable<K>
, RichIterable<V>
BiMap<K,V>
, ConcurrentMutableMap<K,V>
, FixedSizeMap<K,V>
, ImmutableBiMap<K,V>
, ImmutableMap<K,V>
, ImmutableMapIterable<K,V>
, ImmutableOrderedMap<K,V>
, ImmutableSortedMap<K,V>
, MutableBiMap<K,V>
, MutableMap<K,V>
, MutableMapIterable<K,V>
, MutableOrderedMap<K,V>
, MutableSortedMap<K,V>
, OrderedMap<K,V>
, SortedMapIterable<K,V>
, UnsortedMapIterable<K,V>
AbstractBiMap
, AbstractImmutableBiMap
, AbstractImmutableMap
, AbstractImmutableSortedMap
, AbstractMapIterable
, AbstractMutableMap
, AbstractMutableMapIterable
, AbstractMutableSortedMap
, AbstractSynchronizedMapIterable
, ConcurrentHashMap
, ConcurrentHashMapUnsafe
, ConcurrentMutableHashMap
, HashBiMap
, ImmutableTreeMap
, ImmutableUnifiedMap
, ImmutableUnifiedMapWithHashingStrategy
, MapAdapter
, SortedMapAdapter
, SynchronizedBiMap
, SynchronizedMutableMap
, SynchronizedSortedMap
, TreeSortedMap
, UnifiedMap
, UnifiedMapWithHashingStrategy
, UnmodifiableBiMap
, UnmodifiableMutableMap
, UnmodifiableTreeMap
public interface MapIterable<K,V> extends RichIterable<V>
Modifier and Type | Method | Description |
---|---|---|
<K2,V2> MapIterable<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> MapIterable<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) |
|
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.
|
java.util.Optional<Pair<K,V>> |
detectOptional(Predicate2<? super K,? super V> predicate) |
Return the first key and value of the map as an Optional for which the predicate evaluates to true when
they are given as arguments.
|
boolean |
equals(java.lang.Object o) |
Follows the same general contract as
Map.equals(Object) . |
Multimap<V,K> |
flip() |
Given a map from Domain -> Range return a multimap from Range -> Domain.
|
MapIterable<V,K> |
flipUniqueValues() |
Return the MapIterable that is obtained by flipping the direction of this map and making the associations
from value to key.
|
void |
forEachKey(Procedure<? super K> procedure) |
Calls the
procedure with each key of the map. |
void |
forEachKeyValue(Procedure2<? super K,? super V> procedure) |
Calls the
procedure with each key-value pair of the map. |
void |
forEachValue(Procedure<? super V> procedure) |
Calls the procedure with each value of the map.
|
V |
get(java.lang.Object key) |
|
V |
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.
|
V |
getIfAbsentValue(K key,
V value) |
Return the value in the Map that corresponds to the specified key, or if there is no value at the key, return
value . |
<P> V |
getIfAbsentWith(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.
|
int |
hashCode() |
Follows the same general contract as
Map.hashCode() . |
<A> A |
ifPresentApply(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.
|
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.
|
default java.util.stream.Stream<V> |
parallelStream() |
|
MapIterable<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.
|
MapIterable<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.
|
default java.util.Spliterator<V> |
spliterator() |
|
default java.util.stream.Stream<V> |
stream() |
|
MapIterable<K,V> |
tap(Procedure<? super V> procedure) |
Executes the Procedure for each value of the map and returns
this . |
ImmutableMapIterable<K,V> |
toImmutable() |
|
java.lang.String |
toString() |
Returns a string with the keys and values of this map separated by commas with spaces and
enclosed in curly braces.
|
RichIterable<V> |
valuesView() |
Returns an unmodifiable lazy iterable wrapped around the values for the map.
|
forEach, forEach, forEachWith, forEachWithIndex
aggregateBy, aggregateInPlaceBy, allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, appendString, appendString, asLazy, chunk, collect, collect, collectBoolean, collectBoolean, collectByte, collectByte, collectChar, collectChar, collectDouble, collectDouble, collectFloat, collectFloat, collectIf, collectIf, collectInt, collectInt, collectLong, collectLong, collectShort, collectShort, collectWith, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, count, countBy, countBy, countByWith, countByWith, countWith, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, each, flatCollect, flatCollect, getFirst, getLast, getOnly, groupBy, groupBy, groupByEach, groupByEach, groupByUniqueKey, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, into, isEmpty, makeString, makeString, makeString, max, max, maxBy, maxByOptional, maxOptional, maxOptional, min, min, minBy, minByOptional, minOptional, minOptional, noneSatisfy, noneSatisfyWith, notEmpty, partition, partitionWith, reduce, reduceInPlace, reduceInPlace, reject, reject, rejectWith, rejectWith, select, select, selectInstancesOf, selectWith, selectWith, size, sumByDouble, sumByFloat, sumByInt, sumByLong, summarizeDouble, summarizeFloat, summarizeInt, summarizeLong, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toArray, toArray, toBag, toList, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedList, toSortedList, toSortedListBy, toSortedMap, toSortedMap, toSortedSet, toSortedSet, toSortedSetBy, zip, zip, zipWithIndex, zipWithIndex
V get(java.lang.Object key)
Map.get(Object)
boolean containsKey(java.lang.Object key)
Map.containsKey(Object)
boolean containsValue(java.lang.Object value)
Map.containsValue(Object)
void forEachValue(Procedure<? super V> procedure)
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);
MapIterable<K,V> tap(Procedure<? super V> procedure)
this
.
return peopleByCity.tap(person -> LOGGER.info(person.getName()));
tap
in interface RichIterable<K>
InternalIterable.forEach(Procedure)
void forEachKey(Procedure<? super K> procedure)
procedure
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);
void forEachKeyValue(Procedure2<? super K,? super V> procedure)
procedure
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");
MapIterable<V,K> flipUniqueValues()
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)));
java.lang.IllegalStateException
- if the MapIterable contains duplicate values.V getIfAbsent(K key, Function0<? extends V> function)
V getIfAbsentValue(K key, V value)
value
.<P> V getIfAbsentWith(K key, Function<? super P,? extends V> function, P parameter)
<A> A ifPresentApply(K key, Function<? super V,? extends A> function)
RichIterable<K> keysView()
RichIterable<V> valuesView()
RichIterable<Pair<K,V>> keyValuesView()
Multimap<V,K> flip()
Since the keys in the input are unique, the values in the output are unique, so the return type should be a SetMultimap. However since SetMultimap and SortedSetMultimap don't inherit from one another, SetMultimap here does not allow SortedMapIterable to have a SortedSetMultimap return. Thus we compromise and call this Multimap, even though all implementations will be a SetMultimap or SortedSetMultimap.
MapIterable<K,V> select(Predicate2<? super K,? super V> predicate)
MapIterable<City, Person> selected = peopleByCity.select((city, person) -> city.getName().equals("Anytown") && person.getLastName().equals("Smith"));
MapIterable<K,V> reject(Predicate2<? super K,? super V> predicate)
MapIterable<City, Person> rejected = peopleByCity.reject((city, person) -> city.getName().equals("Anytown") && person.getLastName().equals("Smith"));
<K2,V2> MapIterable<K2,V2> collect(Function2<? super K,? super V,Pair<K2,V2>> function)
MapIterable<String, String> collected = peopleByCity.collect((City city, Person person) -> Pair.of(city.getCountry(), person.getAddress().getCity()));
<R> MapIterable<K,R> collectValues(Function2<? super K,? super V,? extends R> function)
MapIterable<City, String> collected = peopleByCity.collectValues((City city, Person person) -> person.getFirstName() + " " + person.getLastName());
Pair<K,V> detect(Predicate2<? super K,? super V> predicate)
Pair<City, Person> detected = peopleByCity.detect((City city, Person person) -> city.getName().equals("Anytown") && person.getLastName().equals("Smith"));
java.util.Optional<Pair<K,V>> detectOptional(Predicate2<? super K,? super V> predicate)
Optional<Pair<City, Person>> detected = peopleByCity.detectOptional((city, person) -> city.getName().equals("Anytown") && person.getLastName().equals("Smith"));
boolean equals(java.lang.Object o)
Map.equals(Object)
.equals
in class java.lang.Object
int hashCode()
Map.hashCode()
.hashCode
in class java.lang.Object
java.lang.String toString()
Assert.assertEquals("{1=1, 2=2, 3=3}", Maps.mutable.with(1, 1, 2, 2, 3, 3).toString());
toString
in interface RichIterable<K>
toString
in class java.lang.Object
AbstractMap.toString()
ImmutableMapIterable<K,V> toImmutable()
default java.util.stream.Stream<V> stream()
default java.util.stream.Stream<V> parallelStream()
Copyright © 2004–2018. All rights reserved.