我有一张地图 - 地图> - 集合。
我需要过滤地图并获取对内部地图的给定键具有给定值的外部地图。
我尝试了一些组合,但它不起作用。
我如何做到这一点。
这是我尝试过的
Map<String, Map<String, String>> originalMap = getOriginalMap();
String channelId = "channelIdVal";
Map<String, Map<String, String>> filteredMapForKey = originalMap.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey,
e -> e.getValue().entrySet().stream().filter(innerMap -> innerMap.getValue().equalsIgnoreCase(channelId)).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue))));
基本上,我希望 filtersMapForKey有一个条目,其内部映射(条目的值)包含一个值为channelId的键
我如何做到这一点。上面的代码使用相同的键返回整个原始映射,但内部映射为空,有效映射除外。对于有效的map,不返回完整的inner map,只返回key和value匹配channel id的map
谢谢