如下:注释的代码是有问题的。采用fori循环即可。
/**
* 1、遍历主题list
* 2、遍历模板list
* 3、从总数据中找到匹配数据,进行重新封装
*/
for (int i = 0; i < themeList.size(); i++) {
TemplateRankingRsp.Series themeSeries = new TemplateRankingRsp.Series();
themeSeries.setName(themeList.get(i));
List<Integer> numList = new ArrayList<>();
for (int j = 0; j < templateList.size(); j++) {
numList.add(null);
for (int n = 0; n < templateRankingDtoList.size(); n++) {
TemplateRankingDto templateRankingDto = templateRankingDtoList.get(n);
if (templateRankingDto.getThemeName().contains(themeList.get(i)) && templateRankingDto.getTemplateName().equals(templateList.get(j))) {
numList.set(j, templateRankingDto.getNum());
templateRankingDtoList.remove(n);
break;
}
}
// while (iterator.hasNext()) {
// TemplateRankingDto next = iterator.next();
// if (next.getThemeName().contains(themeList.get(i)) && next.getTemplateName().equals(templateList.get(j))) {
// numList.set(j, next.getNum());
// iterator.remove();
// break;
// }
// }
}
themeSeries.setData(numList);
series.add(themeSeries);
}