You can create your own custom collector as follows:
myList.stream().map(..)
      .collect(Collectors.collectingAndThen(Collectors.toList(), repository::save));
save return type is void, , - collect:
myList.stream().map(..)
      .collect(Collectors.collectingAndThen(Collectors.toList(), 
              list -> {repository.save(list);return list;}));
Repository:
class Repository {
    Collector<MyItemType, ?, List<MyItemType>> saving() {
        return Collectors.collectingAndThen(Collectors.toList(), 
              list -> {this.save(list);return list;});
    }
    void save(List<MyItemType> list) { ... }
}
:
myList.stream().map(..).collect(repository.saving());