可以优化掉 ListUtils.union 方法,改为使用 addAll 方法将三个列表合并成一个列表,如下所示:

private List<ComputeResultExportDTO> getScoreResultsAndCalculationResult(final String activityId,
                                                                         final ExcelConditionParam excelConditionParam) {

    // 需要排除的测评id集合
    final List<String> excludeAssessRelationIds = satisfyOfCityWithProDeptService.getExcludeAssessRelationIds(activityId);
    // 查询出活动对应的得分结果
    final List<ComputeResultExportDTO> scoreResults = examineEvaluationService.findScoreResult(activityId, excelConditionParam);
    // 级别小计的数据
    final List<ComputeResultExportDTO> levelSubtotal = getLevelSubtotal(scoreResults, activityId, excludeAssessRelationIds);
    // 综合评价的数据
    final List<ComputeResultExportDTO> comprehensiveEvaluation =
        getComprehensiveEvaluation(scoreResults, activityId, excludeAssessRelationIds);
    
    List<ComputeResultExportDTO> combinedList = new ArrayList<>();
    combinedList.addAll(scoreResults);
    combinedList.addAll(levelSubtotal);
    combinedList.addAll(comprehensiveEvaluation);
    
    return combinedList;
}

通过使用 addAll 方法,我们可以直接将多个列表的内容添加到一个新的列表中,避免了使用 ListUtils.union 方法带来的额外的性能消耗。同时,使用 addAll 方法也使得代码更加简洁易懂。


原文地址: https://www.cveoy.top/t/topic/pmkr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录