我有一个包含多个条目的LinkedHashMap。在第一步中,我希望将多个条目缩减为单个条目,而不是将其映射到单个字符串。例如:我从这样的地图开始:
{"<a>"="</a>", "<b>"="</b>", "<c>"="</c>", "<d>"="</d>"}最后,我想得到一个这样的字符串:
<a><b><c><d></d></c></b></a>(在这种情况下,字符串包含按顺序排列的键,而不是按反向顺序排列的值。但这并不重要,我想要一个通用的解决方案)
我想我需要map.entrySet().stream().reduce(),但是我不知道如何在reduce方法中编写什么,以及如何继续。
发布于 2017-09-27 21:01:19
下面是一个关于我将如何做的例子:
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。
https://stackoverflow.com/questions/46457009
复制相似问题