java8 flatmap
天蓬老师
天蓬老师 2017-04-18 09:59:19
0
3
409

java8 stream 的 flatmap 跟map有啥区别?有例子不

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全員に返信(3)
伊谢尔伦

フラットマップはラムダでコレクションを返し、その後、個々の要素を最終結果セットに 1 つずつフラットに配置できます。
たとえば、Personal に複数の趣味 (List<Hobby>) がある場合、全員の趣味をすべて取得したい場合は、次のようにすることができます。 Set<Hobby> HobbySet = people.ParallelStream(). flatMap(p -> p.getHobbyList.stream())
.collect(Collectors.toCollection(() -> new TreeSet<Hobby>(
(h1,h2 ) -> h1.getName().compareTo(h2.getName())
)))

いいねを押す +0
PHPzhong

たとえば、List<?>、マップはリスト内の各オブジェクトを直接操作できます

リーリー

フラットマップを使用すると、次のように、より深いレベルのデータを操作できるようになります:
List<List<?>>

リーリー
いいねを押す +0
左手右手慢动作

マップ: 指定された変換関数を使用して、ストリームに含まれる要素に対して変換操作を実行します。新しく生成されたストリームには、変換によって生成された要素のみが含まれます。このメソッドには、プリミティブ型の 3 つのバリアント メソッド (mapToInt、mapToLong、mapToDouble) があります。これら 3 つのメソッドも比較的理解しやすいものです。たとえば、mapToInt は元の Stream を新しい Stream に変換します。この新しく生成された Stream の要素はすべて int 型です。 3 つの変形方法がある理由は、自動ボックス化/ボックス化解除の追加消費を避けるためです。

マップメソッドの図:


flatMap: マップと似ていますが、各要素が Stream オブジェクトに変換され、子 Stream の要素が親コレクションに圧縮される点が異なります。

flatMap メソッドの図:


いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート