栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java 8转换地图>到地图>

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java 8转换地图>到地图>

我想您很亲密,您需要将

flatMap
这些条目添加到a
Stream
并从那里收集。我使用了已经存在的
SimpleEntry
,但是您也可以使用
Pair
某种。

initialMap.entrySet()          .stream()          .flatMap(entry -> entry.getValue().stream().map(v -> new SimpleEntry<>(entry.getKey(), v)))          .collect(Collectors.groupingBy(    Entry::getValue,    Collectors.mapping(Entry::getKey, Collectors.toList())         ));

好吧,如果您不想增加这些

SimpleEntry
实例的额外开销,则可以做些不同:

    Map<Integer, List<String>> result = new HashMap<>();    initialMap.forEach((key, values) -> {        values.forEach(value -> result.computeIfAbsent(value, x -> new ArrayList<>()).add(key));    });


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/470150.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号