我正在使用Google Guava 12,并有一张 map :
Map<OccupancyType, BigDecimal> roomPrice;
我有一套:
Set<OccupancyType> policy;
如何根据
roomPrice map
过滤policy
中的条目并返回过滤后的 map ?filteredMap
需要具有policy
中的所有值。如果roomPrice映射没有策略条目,我想输入默认值。 最佳答案
由于您具有一组键,因此您应该使用Maps.filterkeys(),而且Guava还提供了非常好的谓词集,您可以直接使用它们。在您的情况下,应使用Predicates.in()之类的东西。
因此,基本上,您最终得到:
Map<OccupancyType, BigDecimal> filteredMap
= Maps.filterKeys(roomPrice, Predicates.in(policy));
希望能帮助到你。