[英]Map a key value pair of the following Data?
我有以下excel Sheet,我想将它绑定到键值对的Map。(使用JXl解析数据)我希望数据结构像
Map<String,Map<String, List<String>>> map
其中键将是舞台请求集,然后我们有一个舞台请求和舞台序列的地图。
我已经能够在地图内部执行地图i:e Map<String, List<String>>
部分
如何将地图添加到地图中,该地图将是某个键的值。
for(int i = 3;i<sheet.getRows();i++){
if(!sheet.getCell(2,i).getContents().isEmpty()){
lastUpdated = sheet.getCell(2,i).getContents();
}
if (!sheet.getCell(3,i).getContents().isEmpty()) {
String content = sheet.getCell(3,i).getContents();
if (map.containsKey(lastUpdated)) {
map.get(lastUpdated).add(content);
} else {
ArrayList<String> temp = new ArrayList<String>();
temp.add(content);
map.put(lastUpdated, temp);
}
}
}
这将为我们提供一个Map中的整个阶段req和stage seq,其中包含一个键值对中stage和seq的所有值。
现在如何将此映射绑定到Stage请求集名称Key。
Java和收藏的新手请帮忙。
我相信以下是你所需要的。 如果还不够,请通过任何云存储和完整的源代码将完整的Excel工作表共享为文件。
Map<String, Map<String, List<String>>> map = new HashMap<>();
for(int i = 3;i<sheet.getRows();i++){
if(!sheet.getCell(2,i).getContents().isEmpty()){
lastUpdated = sheet.getCell(2,i).getContents();
}
if (!sheet.getCell(3,i).getContents().isEmpty()) {
String content = sheet.getCell(3,i).getContents();
if(!map.containsKey(lastUpdated)){
map.put(lastUpdated, new HashMap<>());
}
if(!map.get(lastUpdated).containsKey(content)){
Map<String, List<String>> rowMap = map.get(lastUpdated);
rowMap.put(content, new ArrayList<>());
map.put(lastUpdated, rowMap);
}
for(Cell c : Arrays.copyOfRange(sheet.getRow(i), 4, sheet.getRow(i).length)){
if(CellType.EMPTY != c.getType()){
map.get(lastUpdated).get(content).add(c.getContents());
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.