优化代码 List<String> distinctList = Lists.newArrayList(); List<SimulationTableDto> distinctedColumnList = Lists.newArrayList(); for (SimulationTableDto simulationTableDto : list) { String key = simulationTableDto.getTableName() + PqlConst.VARIANT_DELIMETER + simulationTableDto.getColumn().getTitle(); if (!distinctList.contains(key)) { distinctedColumnList.add(simulationTableDto); distinctList.add(key); } } return distinctedColumnList;
时间: 2024-03-21 07:40:35 浏览: 97
优化代码
可以使用Java 8的流式编程来简化代码,如下所示:
```
List<SimulationTableDto> distinctedColumnList = list.stream()
.collect(Collectors.groupingBy(
dto -> dto.getTableName() + PqlConst.VARIANT_DELIMETER + dto.getColumn().getTitle()))
.values().stream().map(group -> group.get(0))
.collect(Collectors.toList());
return distinctedColumnList;
```
这里使用 `groupingBy` 方法将列表按照指定条件进行分组,然后通过 `map` 方法取出每组的第一个元素,最后通过 `toList` 方法将结果转换为列表。这样可以大大简化代码并提高效率。
阅读全文