【发布时间】:2017-07-14 08:50:39
【问题描述】:
如何做到这一点?
我目前正在尝试这样做
例子:
{{"id" :"2", values: ["10","11", "12"]} , {"id" : "3", values : ["23"]}}
到
{{"id" :"2","value": "10"},{"id": "2","value":"11"},
{"id" :"3","value":"23"} , {"id" : "2", "value":"12"}}
我的java代码是
Map<Integer, List<Integer>> attrMap = new HashMap<>();
//getAllData() & item.getValues() both returns List
getAllData().forEach(item - > {
item.getValues().forEach(val - > {
attrMap.computeIfAbsent(item.getId(), (k) - >
new ArrayList < > ()).add(val.getValue());
});
});
我怎样才能只用 1 行?
【问题讨论】:
-
通过删除换行符 ... ?
-
这个问题有点荒谬。首先最重要的是REAL优化(时间+数据),行数只是为了可读性。当我看到某些代码不再更改时,有时我会删除换行符,以便更快地滚动代码。但仅此而已。
-
我的意思是要避免两个 foreach 循环并用一个 foreach 循环来做。有可能吗?
-
是的,ID 是唯一的