<分区>
如果我有一个 Book
类,其中有一个 Page
对象列表,我如何生成 Page
对象的集合给定一组 Book
对象,使用 Java 8 特性,如 Streams、Collectors、lamdas 等?我知道如何使用 Java 8 之前的技术来做到这一点,但我希望看到它使用 Java 8 特性的一行来完成。
谢谢。
<分区>
如果我有一个 Book
类,其中有一个 Page
对象列表,我如何生成 Page
对象的集合给定一组 Book
对象,使用 Java 8 特性,如 Streams、Collectors、lamdas 等?我知道如何使用 Java 8 之前的技术来做到这一点,但我希望看到它使用 Java 8 特性的一行来完成。
谢谢。
最佳答案
假设 Book
有一个 getPages
方法返回 Page
的集合,您需要使用 flatMap
在书籍集合中“展平”页面集合的方法:
Stream<Page> pages = books.stream().flatMap(b -> b.getPages().stream());
这会产生一个流;如果您需要一个集合,请使用列表收集器来构造它。
关于java - 如何使用 Java 8 特性生成集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41654198/