Есть ли у гуавы метод для преобразования итерируемого объекта в карту уникальных типов?

Я не смог найти метод в guava, который преобразует Collection (или Iterator / Iterable) в Map, что-то вроде следующего (подстановочные знаки опущены для ясности):

public static <T, K, V> Map<K,V> collectionSplitter(Collection<T> source, Function<T,K> kProducer, Function<T,V> vProducer){
    Map<K,V> map = Maps.newHashMap();
    for(T t : source){
        map.put(kProducer.apply(t), vProducer.apply(t));
    }
    return map;
}

Есть ли какой-либо существующий метод, который делает это? Ближайшее, что я смог найти, - это Splitter.keyValueSplitter (), если T - это строка.

10
задан TDJoe 13 October 2011 в 17:52
поделиться