Я не смог найти в гуаве метод, который преобразует коллекцию (или итератор/итератор) в карту, что-то вроде следующего (для ясности подстановочные знаки опущены):
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 является строкой.