我错过了什么,还是真的没有 Apache 的 new 的默认实现MultiValuedMap
可以用来简单地包装提供Map<K, ? extends Collection<V>>
?
换句话说,我正在寻找现在已弃用的MapUtils.multiValueMap
工厂方法的直接替换:没有一个现有的实现能HashSetValuedHashMap
满足我的需求,因为我需要IdentifyHashMap
用作后端映射
我错过了什么,还是真的没有 Apache 的 new 的默认实现MultiValuedMap
可以用来简单地包装提供Map<K, ? extends Collection<V>>
?
换句话说,我正在寻找现在已弃用的MapUtils.multiValueMap
工厂方法的直接替换:没有一个现有的实现能HashSetValuedHashMap
满足我的需求,因为我需要IdentifyHashMap
用作后端映射
最后我不得不自己实现必要的辅助方法:
public static <K, V, C extends Collection<V>> MultiValuedMap<K, V> multiValueMap(Map<K, C> map,
final Factory<C> collectionFactory) {
return new AbstractMultiValuedMap<K, V>(map) {
@Override
protected Collection<V> createCollection() {
return collectionFactory.create();
}
};
}
虽然,由于实现是多么微不足道,我不敢相信它已经不存在commons-collections
了。