您可以使用Stream的flatMap方法和collectors的toMap方法来实现这个转换。下面是一个示例代码:

Map<String, Map<String, StatisticsResultDTO>> result = integrityLevelSubtotal.values().stream()
        .flatMap(map -> map.entrySet().stream())
        .collect(Collectors.toMap(
                Map.Entry::getKey,
                entry -> entry.getValue().values().iterator().next()
        ));

这里的代码首先使用values().stream()integrityLevelSubtotal中的中间Map转换为Stream。然后使用flatMap方法将每个中间Map的entry转换为Stream,这样就可以得到一个包含所有entry的Stream。

最后使用collect方法结合Collectors.toMap来将Stream中的entry转换为最终的Map。在toMap方法中,我们将entry的key作为最终Map的key,将entry的value中的第一个StatisticsResultDTO作为最终Map的value。

这样就能得到一个去除了中间Map的key的新的Map。

Java Stream 转换 Map<String, Map<String, Map<String, StatisticsResultDTO>>> 为 Map<String, Map<String, StatisticsResultDTO>>

原文地址: http://www.cveoy.top/t/topic/lToa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录