Есть ли способ flatten в Гуаве - или простой способ преобразования Iterable<Iterable<T>> в Iterable<T>?
У меня есть Multimap<K, V> [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;
Я просмотрел документы Гуавы, но ничего не выскочил. Я просто проверяю, что ничего не пропустил. В противном случае, я извлечу свои три строки в короткий сплющенный общий метод и оставлю это как это.