【发布时间】:2020-11-26 11:58:48
【问题描述】:
这是一段代码,其中键是字符串类型,值是列表,但是当我收集所有列表元素并将其添加到 MultiMap 对象时,它添加为 [[]], 使用 MultiMap 的意图是因为我有相同的键和不同的值(这里“$.name”有多个值)
List<String> header = funGetSheetColumns(wb, sSheetName);
List valueList;
MultiMap resMap = new MultiMap();
for (int j = 0; j < header.size(); j++) {
valueList = new ArrayList();
for (List data : tableRS) {
valueList.add(data.get(j));
}
resMap.add(header.get(j), valueList);
}
这是我得到的输出
$.name: [[a, b, c], [a1, b1, c1], [a2, b2, c2]]
RequestBody: [[{
"id": 0,
"category": {
"id": 0,
"name": "string"
},
"name": "doggie",
"photoUrls": [
"string"
],
"tags": [
{
"id": 0,
"name": "string"
}
],
"status": "available"
}, {
"id": 0,
"category": {
"id": 0,
"name": "string"
},
"name": "doggie",
"photoUrls": [
"string"
],
"tags": [
{
"id": 0,
"name": "string"
}
],
"status": "available"
}, {
"id": 0,
"category": {
"id": 0,
"name": "string"
},
"name": "doggie",
"photoUrls": [
"string"
],
"tags": [
{
"id": 0,
"name": "string"
}
],
"status": "available"
}]]
}
但它不应该在数组[[]]的数组中
请让我知道我缺少什么。
【问题讨论】:
-
data.get(j)是否返回列表?您将其添加到列表 ( valueList ),然后将 valueList 添加到地图。如果是这种情况,您的输出就是我希望看到的。您是否应该直接将 data.get(j) 添加到地图中?
标签: java collections hashmap multimap