キリル:
そこにあるflatMap
中類推Cactoosのライブラリは?私がまさに必要とするflatMap
ことができますが、ストリームなし:
flatMap()操作は、ストリームの要素に一対多の変換を適用し、新しいストリームに得られる要素を平坦化する効果を有します。
例えば、私は、リスト内のいくつかの値を持ち、それぞれの値は、子アイテムを持っている、と私はそれぞれの値からすべての項目を取得したい場合は、私が使用することができますflatMap
:
List<Value> values = someValues();
List<Item> items = values.stream()
.flatMap(val -> val.items().stream()) // val.items() returns List<Item>
.collect(Collectors.toList());
Cactoosの代わりに、ストリームAPIを使用して同じことを行うにはどのように?
ビクタークリスマス:
あなたは使用することができ入社、それは平坦化するのと同じですが、Iterable
。
たとえば、次のように記述します。
new Joined<>(new Mapped<>(val -> val.items(), someValues()));