是否有内置方法或方法组合来使用谓词返回Guava ImmutableMultimaps的过滤 View ,就像使用常规 map 一样?

似乎没有Maps.filter方法接受ImmutableMultimap作为参数。查看API,我可以调用asMap()并获取基于 map 的多图 View ,并以此方式执行过滤器。但是,我需要从函数中返回一个ImmutableMultimap,并且出于明显的原因,没有一种方法可以将Map>视为ImmutableMultimap-无需构造新的Multimap。

即使我可以将其过滤为Map并将其转换回ImmutableMultimap,因为它们全都只是 View (我认为吗?),所以filter方法只能让我对整个集合进行过滤,而不会删除单个值。

最佳答案

Multimaps.filterEntries已在版本11中添加到Guava中。

07-23 22:22