Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中使用HashMap作为集合_Java_Collections_Jaxb_Hashmap_Guava - Fatal编程技术网

在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 <代码>,则需要对集合进行迭代,并对每个元素执行<代码>放置/代码>。

您可以考虑扩展番石榴的<代码>转发列表>代码>,并在后面使用哈希图。我不知道有哪种实现会只剩下实际的映射。

另一种选择是创建JAXB
XmlAdapter
,以使值适应您的映射。我觉得这个更合适。

谢谢,不,我想在地图上添加东西。但我不想先将内容保存在列表中,然后再将其复制到映射中,这仅仅是因为JAXB可能会重复。无论如何,答案可能是相关的。XmlAdapter为+1。下面是一个如何实现的示例:XmlApdater似乎有点太多了。我想我会用我自己实现的一个带有集合界面的地图,你也可以考虑<代码>转发集合>代码>。