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;
}

Antworten auf die Frage(12)

Ihre Antwort auf die Frage