Guavaにメソッドがありますflatten
か、または を に変換する簡単な方法はIterable<Iterable<T>>
ありIterable<T>
ますか?
[sourceMultimap]がMultimap<K, V>
あり、キーが述語 [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のドキュメントを調べましたが、何も飛び出しませんでした。私は何も見逃していないことを確認しています。それ以外の場合は、3 行を短い flatten ジェネリック メソッドに抽出し、そのままにしておきます。