【发布时间】:2020-10-29 08:03:59
【问题描述】:
我想展平嵌套的哈希图。例如,
Map<String, Object> map = new HashMap();
Map<String, Object> map2 = new HashMap();
Map<String, Object> map3 = new HashMap();
map3.put("key3", 123);
map2.put("key2", map3);
map2.put("key4", "test");
map.put("key1", map2);
map.put("key6", "test2");
这将具有类似于此的结构:
{
"key1" : {
"key2" : {"key3" : 123 },
"key4" : "test"
},
"key6" : "test2"
}
这应该被展平为一个结构类似于这样的哈希图:
{
"key1.key2.key3" : 123,
"key1.key4" : "test",
"key6" : "test2"
}
我尝试在 Java 中递归地解决这个问题,但无法生成正确的形式。任何帮助表示赞赏。
【问题讨论】:
-
你在谈论一个Hashmap,但是发布数据结构。您可以添加您的 Java 代码的 sn-p 吗?这将使某人更容易创建有帮助的答案。
-
这是数据在 hashmap 中的存储结构。不过,我也更新了它。
-
我知道这并不能回答您的问题,但是将对象存储在地图中确实是一种不好的做法,并且会导致各种难以处理的问题。查看您实际尝试解决的问题,看看您是否可以使用类型化地图来解决。
标签: java recursion hashmap java-stream