Есть ли в 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, но ничего не выскочило. Я просто проверяю, ничего не пропустил. В противном случае я извлечу свои три строки в короткий общий метод сглаживания и оставлю все как есть.