【发布时间】:2013-01-16 17:16:25
【问题描述】:
我有一些带有Map<String, Map<String, String>> 对象的代码,它可以工作(它被实例化为 HashMaps 的 HashMap),但我想知道是否有更好的方法可以在 Guava 中表示这个数据结构。
我考虑过Multimap,但是虽然Guava 中有ListMultimap 和SetMultimap,但我没有找到“MapMultimap”。
我也查了Table,好像比较像,但是它的名字让我很不舒服:我拥有的绝对不是一张桌子,而是一棵树。 (第二个键之间没有重叠)
有更好的番石榴替代品还是我应该坚持使用Map<String, Map<String, String>>?
【问题讨论】:
-
内部
Map长什么样子?用适当的类替换它怎么样,所以你会有一个Map<String, SomeObject>代替? -
@Philipp Reichart:那么我的 SomeObject 需要有一个内部 Map,所以我看不出我的代码会如何变得更简单......
-
这就是为什么我问内部 Maps 的样子:如果它们都具有相同的键(例如
"firstName"、"lastName"、...),您可以将它们替换为类的实例喜欢Person { String firstName; String lastName; ... }。如果每个内部 Map 都不一样,这当然行不通。 -
@Philipp Reichart:我明白了。内部地图不同且不相关。
标签: java data-structures collections guava