And*_*eld 40 java collections flatten 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;
Run Code Online (Sandbox Code Playgroud)
我查看了番石榴文档,但没有跳出来.我只是检查我没有错过任何东西.否则,我会将我的三行提取为一个简短的扁平泛型方法,并保持原样.
Sea*_*ons 73
该Iterables.concat方法满足这一要求:
public static <T> Iterable<T> concat(Iterable<? extends Iterable<? extends T>> inputs)
Run Code Online (Sandbox Code Playgroud)