【发布时间】:2011-08-22 09:19:32
【问题描述】:
Guava 中是否有 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 文档,但没有任何内容。我只是在检查我没有错过任何东西。否则,我会将我的三行代码提取到一个简短的 flatten 泛型方法中并保持不变。
【问题讨论】:
标签: java collections guava flatten