在Java中使用HashMap作为集合
在Java中使用HashMap作为集合,java,collections,jaxb,hashmap,guava,Java,Collections,Jaxb,Hashmap,Guava,JAXB不允许您将现有的xml结构解组到HashMaps中,如果它们不是JAXB所期望的那样 JAXB可以处理例如LinkedLists并填充它们 我正在考虑使用getKey()方法创建一个接口,并在HashMap周围创建一个包装器,以获取实现该接口的所有对象。然后,包装器可以对映射的所有关键相关特性使用getKey()方法。然后,包装器可以轻松实现集合或列表接口 因为这个想法在我看来并没有创新性,我认为它已经存在于一些软件包中,但我并没有正确地用谷歌搜索它。。。是否有人可以指定一个好的库来完成
JAXB
不允许您将现有的xml结构解组到HashMap
s中,如果它们不是JAXB
所期望的那样
JAXB
可以处理例如LinkedList
s并填充它们
我正在考虑使用getKey()
方法创建一个接口,并在HashMap
周围创建一个包装器,以获取实现该接口的所有对象。然后,包装器可以对映射的所有关键相关特性使用getKey()
方法。然后,包装器可以轻松实现集合
或列表
接口
因为这个想法在我看来并没有创新性,我认为它已经存在于一些软件包中,但我并没有正确地用谷歌搜索它。。。是否有人可以指定一个好的库来完成此操作,或者我必须自己编写此操作?如果所有人都试图将
映射的信息内容作为集合来传递,请使用Map.entrySet()
。这将为您提供一个集合
对象;i、 e.其元素为映射
的键/值对的集合。若要从集合中重建<代码> map <代码>,则需要对集合进行迭代,并对每个元素执行<代码>放置/代码>。 您可以考虑扩展番石榴的<代码>转发列表>代码>,并在后面使用哈希图。我不知道有哪种实现会只剩下实际的映射。
另一种选择是创建JAXBXmlAdapter
,以使值适应您的映射。我觉得这个更合适。谢谢,不,我想在地图上添加东西。但我不想先将内容保存在列表中,然后再将其复制到映射中,这仅仅是因为JAXB可能会重复。无论如何,答案可能是相关的。XmlAdapter为+1。下面是一个如何实现的示例:XmlApdater似乎有点太多了。我想我会用我自己实现的一个带有集合界面的地图,你也可以考虑<代码>转发集合>代码>。