【发布时间】:2011-09-08 04:35:07
【问题描述】:
是否有内置方法或方法组合使用谓词返回 Guava ImmutableMultimaps 的过滤视图,就像使用常规地图一样?
似乎没有接受 ImmutableMultimap 作为参数的 Maps.filter 方法。查看 API,我可以调用 asMap() 并获取基于地图的多地图视图并以这种方式执行过滤器。但是,我需要从我的函数中返回一个 ImmutableMultimap,并且由于显而易见的原因,没有办法将 Map> 视为 ImmutableMultimap - 而不必构造一个新的 Multimap。
即使我可以将其过滤为 Map 并将其转换回 ImmutableMultimap,因为它们都只是视图(我认为?),过滤器方法只会让我过滤整个集合,而不是删除单个值。
【问题讨论】:
-
您是要过滤键还是值?
-
我实际上需要过滤两者。在一种情况下只是在键上,在另一种情况下是键和值。
-
请参阅stackoverflow.com/questions/6176918/… 以获得一些想法。