转换地图<;字符串,Map<;长期客户对象>&燃气轮机;列出<;客户对象>;使用Java8

转换地图<;字符串,Map<;长期客户对象>&燃气轮机;列出<;客户对象>;使用Java8,java,Java,谁能帮我把地图转换成列表 背景:作为我任务的一部分,我将PanelData对象分为两个不同的属性,最终结果是上面的地图PanelData只是一个带有getter和setter的POJO。您可以从entrySet获取流,并使用flatMap从值生成另一个流: map.entrySet() .stream() .map(Map.Entry::getValue) .map(Map::entrySet) .f

谁能帮我把
地图
转换成
列表


背景:作为我任务的一部分,我将
PanelData
对象分为两个不同的属性,最终结果是上面的地图
PanelData
只是一个带有getter和setter的POJO。

您可以从
entrySet
获取流,并使用
flatMap
值生成另一个流:

map.entrySet()
            .stream()
            .map(Map.Entry::getValue)
            .map(Map::entrySet)
            .flatMap(Set::stream)
            .map(Map.Entry::getValue)
            .flatMap(Set::stream)
            .collect(Collectors.toList());

您可以从
入口集
获取流,并使用
平面图
生成另一个流:

map.entrySet()
            .stream()
            .map(Map.Entry::getValue)
            .map(Map::entrySet)
            .flatMap(Set::stream)
            .map(Map.Entry::getValue)
            .flatMap(Set::stream)
            .collect(Collectors.toList());
要将
映射
转换为
列表
,您可以这样做:

Map<String,Map<Long,CustomObject>> input = ...
List<CustomObject> output = new ArrayList<>();
input.forEach((key, value) -> output.addAll(value.values()));
Map输入=。。。
列表输出=新的ArrayList();
input.forEach((key,value)->output.addAll(value.values());
要将
地图
转换为
列表
,您可以这样做:

Map<String,Map<Long,CustomObject>> input = ...
List<CustomObject> output = new ArrayList<>();
input.forEach((key, value) -> output.addAll(value.values()));
Map输入=。。。
列表输出=新的ArrayList();
input.forEach((key,value)->output.addAll(value.values());

ConcurrentMap to list of Map to list只需编辑您的问题,不添加评论并提供更多内容,您迄今为止尝试了哪些内容ConcurrentMap to list of Map to list只需编辑您的问题,不添加评论并提供更多内容,您尝试了哪些内容far@AbidRahut如果真有帮助,一定要接受它,因为它的答案也可能对其他人有用:)@AbidRahut如果它确实有用,一定要接受它,因为它的答案也可能对其他人有用:)