2
我有多重映射,我想将它切成使用上键两个谓词两个不同的地图:的Java:切片番石榴多重映射
A -> keyPred1(K) -> A_1
A -> keyPred2(K) -> A_2
在我这样做让所有值的瞬间,用过滤它keyPred1/keyPred2和重建从屈德宁一遍值:
values1 = a.entries().stream()
.filter(e -> keyPred1(e.getKey()))
.collect(Collectors.toList());
a1 = rebuildMapFromValues(values1);
这没关系,但还是看起来有点笨重。有没有办法以更聪明的方式解决问题?
https://google.github.io/guava/releases/snapshot/api/docs/com/google/common/collect/Multimaps.html#filterKeys-com.google.common.collect。 Multimap-com.google.common.base.Predicate- –
@JBNizet获得100%满意答案! –