我有一个如下所示的地图,其中有一个键,值的类型List
:
Map<String, List<String> newdatamap = new HashMap<>();
map.put ("RtyName", Arrays.asList("wpn", "wpfnb", "dgeft", "xbthy"));
map.put ("rtyRate", Arrays.asList("dd", "ww", "trrty", "httyure"))
我想在前一个地图上添加另一个地图,这样就有一个键,其值将是上面的地图。这是正确的数据结构吗?我们如何实现它?
我想要如下所示的东西
Key Value
B1 RtyName ----> "weepn", "weepfnb", "eedgeft", "xbteehy"
rtyRate ----->"deed", "ww", "terrty", "hteetyure"
B2 RtyName ----> "SSSweepn", "wpefSSSnb", "GGeGdgeft", "xbteYYYYhy"
rtyRate ----->"WWded", "wTeTYw", "YYYYtrerty", "IIIehttyure"
如上图,只是在map中引入了一个新的key,它的value是之前的map。
所以它就像一个Map<String, Map<String, List<String>>>
这变成了一个复杂的数据结构我可以将数据结构组织为
例如一个包含 Map 的类,所以它会像
Map<B1 , RtyName>
Map<B2 ,rtyRate>
和付款人 nae 包含值列表,例如
RtyName ----> "SSSweepn", "wpefSSSnb", "GGeGdgeft", "xbteYYYYhy"
rtyRate ----->"deed", "ww", "terrty", "hteetyure"
因此,在上述结构中,复杂性会很低,因为在 B1 的最后,我必须搜索 RtyName 的密钥,并进一步针对付款人名称,我必须搜索“wpn”、“wpfnb”、“dgeft”、“ xbthy”
请告知地图是否是最好的,或者是否有其他更好的数据结构也可以获取此信息。
我想到的一种数据结构是 Guava 的 Table
final Table<String, String, List<String>> values = HashBasedTable.create();
values.put("B1", "RtyName", Lists.newArrayList("weepn", "weepfnb", "eedgeft", "xbteehy"));
System.out.println(values.get("B1", "RtyName")); // prints the list
我的目标是我可以拥有的任何数据结构,其中针对 B1,我将获得 Rtyname,对于 Rtyname,我将获得可能的值列表