Есть ли способ использовать результат потока (List<Integer>
в моем случае) для выполнения операции внутри функции в этом списке (все сразу)
Итак, вместо этого:
var cardTypesToRemove = existingIds.stream()
.filter(c -> !cardTypeIds.contains(c))
.collect(Collectors.toList());
repository.deleteBy(cardTypesToRemove);
Как-то так (извините за псевдокод)
var cardTypesToRemove = existingIds.stream()
.filter(c -> !cardTypeIds.contains(c))
.collect(Collectors.collectingAndThen(repository.saveAll(resultList)));