繁体   English   中英

深度未知的Java的嵌套hashmap

[英]nested hashmaps of unknown depth java

我有一个需要嵌套的哈希图的要求。 但是深度将在运行时确定。 例如,如果在运行时用户说3,那么我的哈希图应该像

HashMap<String, HashMAp<String, HashMap<String, String>>>

如果他说4

HashMap<String, HashMAp<String, HashMap<String, HashMap<String, String>>>>

有什么方法可以实现这种功能? 其他一些API或工具包?

  1. 在一个数据结构上运行100个功能比在10个数据结构上运行10个功能更好。 艾伦·佩利斯(Alan Perlis)。

您所要求的是在Clojure的standrad库中实现的:与已陈述的相反,嵌套的哈希图是表示树的明显且绝对明智的方法。 ```clojure(def my-tree {:a {:aa 0}:b 0:c {:cc 0:dd {:e 0})

(=(获取我的树[:c:dd:e])0)`''

您也可以通过非对象图来表示它,但是您将失去哈希图的一般性:对象始终是概念性哈希图,对其可具有的属性有所限制。

哦,这几乎肯定是一个非常糟糕的主意。

您听起来好像真的想要一棵树或一个图形,却不知道如何编写它,所以您发明了这种表示法以尝试使其与HashMap一起使用。

别。

通过弄清楚如何正确编写所需的内容,您会更好。

出于充分的理由,没有图书馆可以做您想做的事情-您不应该这样做。

您当然可以使用HashMap<String, ?>类型定义哈希映射,并以类型安全为代价获取动态深度。

但是duffymo是正确的-您可能滥用了该结构。 为什么要这样的类型?

您可能想看一下有关树木的文章 您可能会发现它很有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM