2017-01-14 7 views
1

Pageオブジェクトのリストを内部に持つクラスBookがある場合、Pageのオブジェクトのコレクションを生成するには、ストリーム、コレクタ、lamdasなどのJava 8機能を使用してBookオブジェクトを収集しますか?私はJava 8より前のテクニックを使ってこれを行う方法を知っていますが、Java 8の機能を使って1行でやり直したいと思います。Java 8の機能を使ってコレクションを生成するには?

ありがとうございます。 BookPageのコレクションを返すgetPages方法を持っている、あなたが本のコレクション内のページのコレクションを「フラット化」するflatMapメソッドを使用する必要があると仮定すると、

答えて

2

Stream<Page> pages = books.stream().flatMap(b -> b.getPages().stream()); 

これは、ストリームを生成します。コレクションが必要な場合は、リストコレクターを使用してコレクションを作成します。

+0

これはうまく機能し、フラットマップは欠けていた成分でした。私は本のためにそれぞれのために行き止まりを打っていた。建設的な答えをありがとう。 – ITWorker

関連する問題