Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.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 数据结构将数据保存到映射中的键值对中_Java - Fatal编程技术网

Java 数据结构将数据保存到映射中的键值对中

Java 数据结构将数据保存到映射中的键值对中,java,Java,我基本上是在尝试创建数据结构 Map<String, Map<String, List<String>>> 我想在前面的地图上再添加一个地图,这样就有一个键,它的值就是上面的地图。这是正确的数据结构吗?我们如何实现它 我想要如下所示的东西 Key Value B1 payerName ----> "wpn", "wpfnb", "dgeft", "xbthy" fixedRate -----

我基本上是在尝试创建数据结构

Map<String, Map<String, List<String>>>
我想在前面的地图上再添加一个地图,这样就有一个键,它的值就是上面的地图。这是正确的数据结构吗?我们如何实现它

我想要如下所示的东西

Key         Value

B1          payerName  ----> "wpn", "wpfnb", "dgeft", "xbthy"
            fixedRate ----->"dd", "ww", "trrty", "httyure"



B2          payerName  ----> "SSSwpn", "wpfSSSnb", "GGGdgeft", "xbtYYYYhy"
            fixedRate ----->"WWdd", "wTTYw", "YYYYtrrty", "IIIhttyure"
如上所示,映射中只引入了一个新键,其值为上一个映射。因此,请建议如何创建这样的地图

Map<String, Map<String, List<String>>>.
Map。
我已经尝试过下面展示的Google guava库,但我想通过java本身实现同样的效果。请告知我如何通过java实现同样的功能

final Table<String, String, List<String>> values = HashBasedTable.create();
values.put("B1", "payerName", Lists.newArrayList("wpn", "wpfnb", "dgeft", "xbthy"));
System.out.println(values.get("B1", "payerName")); // prints the list
final Table values=HashBasedTable.create();
value.put(“B1”、“payerName”、List.newArrayList(“wpn”、“wpfnb”、“dgeft”、“xbthy”);
System.out.println(values.get(“B1”,“payerName”);//打印列表
您就快到了:

Map<String, Map<String, List<String>>> map = new HashMap<> ();
map.put("B1", newdatamap);
Map-Map=newhashmap();
地图放置(“B1”,新数据地图);

关于assylias的答案,没有更多的细节

    Map<String, Map<String, List<String>>> ultimateMap = new HashMap<String,Map<String, List<String>>> ();

    Map<String, List<String>> map1 = new HashMap<String, List<String>>();
    map1.put ("payerName", Arrays.asList("wpn", "wpfnb", "dgeft", "xbthy"));
    map1.put ("fixedRate", Arrays.asList("dd", "ww", "trrty", "httyure"));

    Map<String, List<String>> map2 = new HashMap<String, List<String>>();
    map2.put ("payerName", Arrays.asList("SSSwpn", "wpfSSSnb", "GGGdgeft", "xbtYYYYhy"));
    map2.put ("fixedRate", Arrays.asList("WWdd", "wTTYw", "YYYYtrrty", "IIIhttyure"));

    ultimateMap.put("B1", map1);
    ultimateMap.put("B2", map2);
Map ultimateMap=newhashmap();
Map map1=新的HashMap();
map1.put(“payerName”,Arrays.asList(“wpn”,“wpfnb”,“dgeft”,“xbthy”);
map1.put(“fixedRate”,Arrays.asList(“dd”,“ww”,“trrty”,“httyure”);
Map map2=新的HashMap();
map2.put(“payerName”,Arrays.asList(“SSSwpn”,“wpfssnb”,“GGGdgeft”,“xbtyyyyyy”);
map2.put(“fixedRate”,Arrays.asList(“WWdd”,“wTTYw”,“YYYYtrrty”,“IIIhttyure”);
最终地图放置(“B1”,地图1);
最终地图放置(“B2”,地图2);

我不能把它作为对前面答案的评论(太长了)。因此作为新答案添加。

这超出了问题的范围,但正如OP在评论中问我的,我在这里回答:

class Info {
  public final String payerName;
  public final String fixedrate;

  public Info(String pn, String fr) {
    payerName = pn;
    fixedRate = fr;
  }
}

[...]

Collection<Info> myInfo = new LinkedList<>();
myInfo.add(new Info("wpn", "dd"));
myInfo.add(new Info("wpfnb", "ww"));
myInfo.add(new Info("dgeft", "trrty"));
myInfo.add(new Info("xbthy", "httyure"));
Map<String, Collection<Info>> myData = new HashMap<>();
myData.put("B1", myInfo);
类信息{
公共最终字符串payerName;
公共最终字符串固定状态;
公共信息(字符串pn、字符串fr){
payerName=pn;
fixedRate=fr;
}
}
[...]
Collection myInfo=newlinkedlist();
myInfo.add(新信息(“wpn”、“dd”);
添加(新信息(“wpfnb”、“ww”);
myInfo.add(新信息(“dgeft”、“trrty”);
添加(新信息(“xbthy”、“httyure”);
Map myData=newhashmap();
myData.put(“B1”,myInfo);

我可能错了,但从您的示例来看,似乎您希望保持payerName和fixedRate对之间的关系,即您希望强调“wpn”与“dd”关联,“wpfnb”与“ww”关联。如果是这种情况,最好将这两个值都放在自定义类(class info{String payerName,String fixedRate})中,并让您的映射具有该类型的值(map)。如果我不在,请忽略以下内容:)@DiegoMartinoia非常感谢只是一个小小的请求一个小小的请求你能帮我编写一点代码来帮助我完整、清晰地理解感谢吗
class Info {
  public final String payerName;
  public final String fixedrate;

  public Info(String pn, String fr) {
    payerName = pn;
    fixedRate = fr;
  }
}

[...]

Collection<Info> myInfo = new LinkedList<>();
myInfo.add(new Info("wpn", "dd"));
myInfo.add(new Info("wpfnb", "ww"));
myInfo.add(new Info("dgeft", "trrty"));
myInfo.add(new Info("xbthy", "httyure"));
Map<String, Collection<Info>> myData = new HashMap<>();
myData.put("B1", myInfo);