【发布时间】:2011-12-10 02:07:10
【问题描述】:
如何使用 Guava Multimap 来表示以下 xml:
<node key="abc123">some value</node>
<node key="asdf22">
<node key="as234">some value343</node>
<node key="sggg234">some value234234</node>
</node>
在我的 xml 文件中,90% 的时间给定节点元素不会有内部节点(以防我可以优化?)。
我想要的是一个 KeyValuePair 集合,其中的值是另一个 keyValuePair 集合。
在 c# 中我可以做到:
public List<string,List<KeyValuePair<string,string>>> nodes;
我被告知要查看 Guava 的多图,但不知道如何正确使用它,有人可以帮助我吗?
顺便说一句,由于 90% 的情况我不需要将值作为另一个列表,我可以针对这种情况进行优化吗?
【问题讨论】:
-
您试图表示两种不同的数据类型,字符串或节点集合。普通的 XML 解析器会使用文本节点作为内部文本;您可以创建一个与您展示的 C# 示例相同的地图,但您将如何存储其中只有文本的第一个节点?除非你有一个特殊的值(
null?),否则当没有节点时,显示的结构不会立即对我有意义。
标签: java collections guava