Cactoos flatMapのアナロジー

キリル:

そこにある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()));

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=206072&siteId=1