Фильтрация мультикарт Guava

Есть ли встроенный метод или комбинация методов для возврата отфильтрованного представления Guava ImmutableMultimaps с использованием предикатов, как это можно сделать с обычными картами?

Не существует. похоже, это метод Maps.filter, который принимает ImmutableMultimap в качестве параметра. Глядя на API, я мог вызвать asMap () и получить представление мульти-карты на основе карты и таким образом выполнить фильтр. Однако мне нужно вернуть ImmutableMultimap из моей функции, и по очевидным причинам нет способа просмотреть Map> как ImmutableMultimap - без необходимости конструировать новую Multimap.

Даже если бы я мог отфильтровать его как Map и верните его обратно в ImmutableMultimap, поскольку все они являются просто представлениями (я так думаю?), методы фильтрации позволили бы мне фильтровать только коллекцию в целом, не удаляя отдельные значения.

19
задан broconne 4 June 2011 в 00:27
поделиться