是否有可能(以简单的方式)将其更改为java8
Stream
? (请不要评论/如果你想告诉我有两个for
更好,不是所有的回路应改为流回答,它不是一个点)从列表创建地图,其中按键是内部和外部对象的一部分
final Map<String, String> map = new HashMap<>();
for(final Person person: list) {
for(final Internal internal: person.getInternals()) {
final String key = person.getName() + internal.getKey();
map.put(key, internal.getValue());
}
}
的主要问题是,我无法使用flatMap
,因为我会失去以前的信息。 每个创建的key
都是独一无二的。
你并不需要第二个循环可言,因为它是一样的:每个人,把它的名字和最后一个内部价值地图。你可以在收集器 – mlecz