Сглаживание Iterable > в Guava

Есть ли в Guava метод flatten или простой способ преобразовать Iterable < Итерируемый > в Итерабельный ?

У меня есть Multimap [sourceMultimap], и я хочу вернуть все значения, в которых ключ соответствует некоторому предикату [keyPredicate]. Итак, на данный момент у меня есть:

Iterable<Collection<V>> vals = Maps.filterKeys(sourceMultimap.asMap(), keyPredicate).values();

Collection<V> retColl = ...;
for (Collection<V> vs : vals) retColl.addAll(vs);
return retColl;

Я просмотрел документы Guava, но ничего не выскочило. Я просто проверяю, ничего не пропустил. В противном случае я извлечу свои три строки в короткий общий метод сглаживания и оставлю все как есть.

40
задан joragupra 2 January 2014 в 09:35
поделиться