java – 番石榴是否有一种将迭代转换为唯一类型的映射的方法?
发布时间:2020-05-24 14:23:57 所属栏目:Java 来源:互联网
导读:我找不到一个方法在番石榴转换一个集合(或迭代器/迭代)到一个地图,类似于以下(通配符为清楚省略省略): public static T, K, V MapK,V collectionSplitter(CollectionT source, FunctionT,K kProducer, FunctionT,V vProducer){ MapK,V map = Maps
|
我找不到一个方法在番石榴转换一个集合(或迭代器/迭代)到一个地图,类似于以下(通配符为清楚省略省略): public static <T,K,V> Map<K,V> collectionSplitter(Collection<T> source,Function<T,K> kProducer,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是一个String. 解决方法我最了解的是Maps.uniqueIndex – 这是关键方面,但不是价值方面…足够近了吗?
你可以使用: Map<K,V> map = Maps.transformValues(Maps.uniqueIndex(source,kProducer),vProducer); 稍微尴尬,但它会完成工作,我想… (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
