@devpy14

Как, используя Stream, добавить элементы List в другой лист, при этом вернув добавленные элементы?

Есть лист машин
List<Car> cars = new ArrayList<>();
а также метод addCars, который принимает лист машин и чья суть которого заключается в добавлении в коллекцию только машин марки BMW, после чего метод возвращает все добавленные машины, а если не добавилось ни одной машины, тогда пустой Optional. Реализовать это нужно используя Stream.API

Застрял на этом моменте:
public Optional<Car> addCars(List<Car> inputCars) {

        inputCars.stream()
                .filter(car -> car.getMark().equals(Mark.BMW)
    }
  • Вопрос задан
  • 148 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
public Optional<List<Car>> addCars(List<Car> inputCars) {
    retrurn Optional.of(inputCars.stream()
            .filter(Objects::nonNull)
            .filter(car -> Mark.BMW.equals(car.getMark()))
            .collect(Collectors.toList()))
        .filter(cars -> !cars.isEmpty());
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы