Java教程

java stream map 作为参数

本文主要是介绍java stream map 作为参数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  public <P, T> List<String> deleteBatch(List<P> params, Function<P, String> paramsComparator, Function<T, String> comparator, List<T> oldLevelList) {

        List<String> deleteList = new ArrayList<>();
        if (Func.isEmpty(oldLevelList)) {
            return deleteList;
        }

        deleteList = mapFunction(oldLevelList, comparator);
        List<String> newTagIdList = params.stream().map(paramsComparator).filter(e -> Func.isNotEmpty(e)).collect(Collectors.toList());
        deleteList.removeAll(newTagIdList);
        if (Func.isNotEmpty(deleteList)) {
            this.getBaseMapper().deleteBatchIds(deleteList);
        }
        return deleteList;
    }


    public <T> List<String> mapFunction(List<T> tList, Function<T, String> comparator) {
        return tList.stream().map(comparator).collect(Collectors.toList());
    }


    @Override
    public Boolean updateBatch(List<EvalConfigLevelApiParam> params, String configId) {
        if (Func.isEmpty(params)) {
            return deleteByConfigId(configId);
        }
        List<EvalConfigLevel> oldLevelList = this.findLevelsByConfigId(configId);
        List<String> deleteList = deleteBatch(params, EvalConfigLevelApiParam::getConfigId, EvalConfigLevel::getId, oldLevelList);
        List<EvalConfigLevel> tags = convertToEvalConfigTagList(params, configId, deleteList);
        return this.saveOrUpdateBatch(tags);
    }

 

这篇关于java stream map 作为参数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!