初学jdk 1.8 希望大神们帮我看看Collectors.groupingBy
StringBuilder mrbuilder = new StringBuilder();
idsMr.forEach( t -> mrbuilder.append("'"+t+"',"));
if(idsMr.size()>0) {
String mrsubstring = mrbuilder.substring(0, mrbuilder.length()-1);
List<Record> mrList = Db.find("select id as mrId, rebate as rebate, merchant_id from merchant_rebate where merchant_id in ("+mrsubstring+") and status=1");
mrList.forEach(t -> map.get(t.getStr("merchant_id")).put("mrInfo",JSON.toJSONString(t.getColumns())));
}
StringBuilder mdbuilder = new StringBuilder();
idsMd.forEach(t -> mdbuilder.append("'"+t+"',"));
if(idsMd.size()>0) {
String mdsubstring = mdbuilder.substring(0, mdbuilder.length()-1);
List<Record> mdList = Db.find("select id, merchant_id, full, subtract, title from merchant_discount where merchant_id in("+mdsubstring+") and status=1 Order by `full`-subtract desc");
mdList.stream().collect(Collectors.groupingBy(new Function<Record, String>() {
public String apply(Record t) {
return t.getStr("merchant_id");
};
})).entrySet().forEach(t -> {
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
t.getValue().forEach( c ->list.add(c.getColumns()));
map.get(t.getKey()).put("mrInfo", JSON.toJSONString(list));
});
}
}
map.entrySet().forEach(t-> retList.add(t.getValue()));
return retList;
如何将Collectors.groupingBy中内容简写 如果有好的优化方案 请多多指教