是否有可能(以簡單的方式)將其更改爲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