如何获取子值的子代并使用Java Stream运算符作为地图进行收集

问题描述 投票:0回答:1

我有以下课程。

Class Person {
    String value1;
    List<KeyValue> keyValue;
}
Class KeyValue{
    String key;
    String value;
}

我希望将输出映射为Map<String, String>,其中第一个字符串值-Key是keyValue.getValue(),它将始终是唯一的,而第二个字符串值-value是value1

我可以简单地进行迭代并执行性能,但是有什么方法可以通过Stream运算符执行并使代码可读的格式。

list collections java-8 stream
1个回答
0
投票

对于给定人员的每个键值,请创建一个地图条目。然后,使用flatMap运算符将所有这些流展平为一个流。最后,使用toMap收集器将其收集到地图中。假设KeyValue.getValue返回的值始终是唯一的,则不会发生键冲突。这是它的外观。

© www.soinside.com 2019 - 2024. All rights reserved.