老师,请帮我优化这段代码:// 编辑新的动态数据 private List<DynamicSource> getDynamicSourceListNew(List<DasymesQltyMpCertfInfoItemMod> itemModList){ // if (itemModList == null || itemModList.size() == 0) return new ArrayList<>(); List<Map<String,String>> mapList = new ArrayList<>(); if (itemModList == null || itemModList.size() == 0) { // return new ArrayList<>(); Map<String, String> map = new HashMap<>(); map.put("no", null); map.put("name", null); map.put("portion", null); mapList.add(map); }else { for (int i = 1;i <= itemModList.size();i++){ DasymesQltyMpCertfInfoItemMod item = itemModList.get( i-1 ); Map<String,String> map = new HashMap<>(); map.put("no",i+""); map.put("name",item.getPortion()); map.put("portion",item.getPortion()); mapList.add(map); } } return DynamicSource.createList("detail",mapList); }
时间: 2024-04-28 20:27:05 浏览: 75
将类中的List<String>改为proarrayList<product> proarray ,过程代码
可以对该段代码进行如下优化:
1. 使用 Stream API 对 itemModList 进行处理,避免使用 for 循环。
2. 简化代码逻辑,去掉多余的判断。
3. 将创建 map 对象的过程和添加到 mapList 中的过程合并。
下面是优化后的代码:
private List<DynamicSource> getDynamicSourceListNew(List<DasymesQltyMpCertfInfoItemMod> itemModList) {
List<Map<String, String>> mapList = itemModList.stream()
.map(item -> {
Map<String, String> map = new HashMap<>();
map.put("no", String.valueOf(itemModList.indexOf(item) + 1));
map.put("name", item.getPortion());
map.put("portion", item.getPortion());
return map;
})
.collect(Collectors.toList());
return DynamicSource.createList("detail", mapList);
}
阅读全文