Java 为什么MultiMap.add()生成类似于{Test_Case:[[1.0,2.0,3.0]]}但它应该是{Test_Case:[1.0,2.0,3.0]}
这是一段代码,其中key是String类型,value是List,但当我收集所有列表元素并将其添加到MultiMap对象时,它将添加为[], 使用MultiMap的意图是因为im具有相同的键和不同的值(此处“$.name”具有多个值) 但它不应位于数组[]的数组内Java 为什么MultiMap.add()生成类似于{Test_Case:[[1.0,2.0,3.0]]}但它应该是{Test_Case:[1.0,2.0,3.0]},java,collections,hashmap,multimap,Java,Collections,Hashmap,Multimap,这是一段代码,其中key是String类型,value是List,但当我收集所有列表元素并将其添加到MultiMap对象时,它将添加为[], 使用MultiMap的意图是因为im具有相同的键和不同的值(此处“$.name”具有多个值) 但它不应位于数组[]的数组内 请让我知道我遗漏了什么。我想您需要类似以下(未经测试的)代码。我从来没有使用过MultiMap,但它看起来就像是一个普通的映射一样,只需将项目添加到其中,它负责将它们添加到映射到键的集合中 List<String
请让我知道我遗漏了什么。我想您需要类似以下(未经测试的)代码。我从来没有使用过MultiMap,但它看起来就像是一个普通的映射一样,只需将项目添加到其中,它负责将它们添加到映射到键的集合中
List<String> header = funGetSheetColumns(wb, sSheetName);
MultiMap resMap = new MultiMap();
for (int j = 0; j < header.size(); j++) {
for (List data : tableRS) {
resMap.add(header.get(j),data.get(j));
}
}
List header=funGetSheetColumns(wb,sSheetName);
MultiMap resMap=新的MultiMap();
对于(int j=0;j
这似乎表明了什么。是否
data.get(j)
返回列表?将其添加到列表(valueList),然后将valueList添加到地图。如果是这样的话,你的输出就是我期望看到的。你应该只是添加数据。直接把(j)放到地图上吗?让它为我工作。谢谢你的重播@DaveH
$.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"
}]]
}
List<String> header = funGetSheetColumns(wb, sSheetName);
MultiMap resMap = new MultiMap();
for (int j = 0; j < header.size(); j++) {
for (List data : tableRS) {
resMap.add(header.get(j),data.get(j));
}
}