首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java 8流缩减映射

Java 8流缩减映射
EN

Stack Overflow用户
提问于 2017-09-27 20:50:23
回答 2查看 3.8K关注 0票数 2

我有一个包含多个条目的LinkedHashMap。在第一步中,我希望将多个条目缩减为单个条目,而不是将其映射到单个字符串。例如:我从这样的地图开始:

代码语言:javascript
运行
复制
{"<a>"="</a>", "<b>"="</b>", "<c>"="</c>", "<d>"="</d>"}

最后,我想得到一个这样的字符串:

代码语言:javascript
运行
复制
<a><b><c><d></d></c></b></a>

(在这种情况下,字符串包含按顺序排列的键,而不是按反向顺序排列的值。但这并不重要,我想要一个通用的解决方案)

我想我需要map.entrySet().stream().reduce(),但是我不知道如何在reduce方法中编写什么,以及如何继续。

EN

Stack Overflow用户

发布于 2017-09-27 21:01:19

下面是一个关于我将如何做的例子:

代码语言:javascript
运行
复制
import java.util.LinkedHashMap;

public class Main {

    static String result = "";

    public static void main(String [] args)
    {
        LinkedHashMap<String, String> map = new LinkedHashMap<String, String>();
        map.put("<a>", "</a>");
        map.put("<b>", "</b>");
        map.put("<c>", "</c>");
        map.put("<d>", "</d>");

        map.keySet().forEach(s -> result += s);
        map.values().forEach(s -> result += s);

        System.out.println(result);
    }
}

注意:您可以用ArrayUtils.reverse()反转值()以获得d。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46457009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档