java - 使用 java 流 API 创建对象列表
问题描述
我有这些数据结构:
class A {
String domain;
List<B> refiners;
}
class B {
String name;
String signature;
}
class C {
String domain;
String name;
String signature;
public C(A a, B b) {
this.domain = a.domain;
this.name = b.name;
this.signature = b.signature;
}
}
有一个List<A>
如何使用 java 流 API 创建一个List<C>
. 现在将每个成员都视为公开的。
解决方案
在此处进行假设,但您可以使用 aflatMap
和 a为每个中的每个map
创建一个C
B
A
List<A> listA = ...;
List<C> listC = listA.stream()
.flatMap(a -> a.refiners.stream()
.map(b -> {
C c = new C();
c.domain = a.domain;
c.name = b.name;
c.signature = b.signature;
return c;
}))
.collect(Collectors.toList());
推荐阅读
- selenium - 如何使用 appium 在浏览器堆栈中执行期间更新应用程序?
- python - 理解 tweepy 的状态对象
- javascript - Vuetify - 垂直显示标题和 v-card 以及全尺寸
- masstransit - MassTransit IJobConsumer 无法运行作业
- rust - 如何在 rust 中实现 id 锁定?
- php - 无效签名 - 提供的签名不匹配 - 状态 401
- php - 这种方法足以保护我的主机(php)吗?
- javascript - 在运行时替换我网站特定页面中所有出现的字符串
- ios - 为什么 Cordova ios Vue 组件在迁移到 WKWebview 后仅在重新加载应用程序时显示?
- javascript - 使用 Mozilla PDFJS 如何显示所有页面而不是单个页面