在开发导出报表的时候,搜索了两个list集合,形式如下:
因为不能同时满足两种情况的搜索,所以只能分开查找数据,再将相同id对应的对象数据合并。
最终展示为下表所示的对象集合。
id | name | questionNum | pointNum | score |
4799 | 主次干道、商业大街 | 187 | 13 | 1121 |
代码如下:
//处理数据,集合合并
//list1,list2为搜索出的两个集合
resultList = list1.stream().map(m -> {
list2.stream().filter(m2-> Objects.equals(m.getTypeId(),m2.getTypeId())).forEach(m2-> {
m.setNum(m2.getNum());
m.setScores(m2.getScores());
});
return m;
}).collect(Collectors.toList());