Guava: Setze <K> + Funktion <K, V> = Map <K, V>?
ibt es eine idiomatische Möglichkeit, ein @ zu nehmeSet<K>
und einFunction<K,V>
und erhalte einMap<K,V>
Liveübertragung? (d. h. dasMap
wird durch das @ unterstütSet
undFunction
combo, und wenn z. ein Element wird zum @ hinzugefüSet
, dann existiert der entsprechende Eintrag auch imMap
).
(siehe z. B.Collections2.filter
für mehr Diskussion über Live Views)
Was passiert, wenn keine Live-Ansicht benötigt wird? Gibt es etwas besseres als das:
public static <K,V> Map<K,V> newMapFrom(Set<K> keys, Function<? super K,V> f) {
Map<K,V> map = Maps.newHashMap();
for (K k : keys) {
map.put(k, f.apply(k));
}
return map;
}