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