Как найти количество объектов в списке - PullRequest
0 голосов
/ 19 октября 2018

У меня есть объект:

Trip {
        private TripName tripName;
        private List<TripStops> tripStops;
}

Остановки отключения содержат

TripStops {
           private PackageObject packageObject;
           private PackageTask packageTask;
}

Я пытаюсь получить счетчик PackageObject внутри остановки отключения с использованием Java8.

* 1008Смогу ли я сделать что-то подобное?Или есть лучший способ
Integer packageCount = Trip.getTripStops.stream().filter(TripStops::getPackageObject).count

1 Ответ

0 голосов
/ 19 октября 2018

Чтобы интерпретировать предложение "Я пытаюсь получить счетчик PackageObject внутри остановки поездки" в коде будет:

long count = Trip.getTripStops().stream().count();

или просто:

int count = Trip.getTripStops().size();

, поскольку каждый TripStops имеет один экземпляр PackageObject.

Однако, чтобы получить количество элементов, возвращаемых из TripStops::getPackageObject, которые соответствуют заданным критериям:

long count = Trip.getTripStops().stream()
                                .map(TripStops::getPackageObject)
                                .filter(criteria) // where criteria is the condition to be passed
                                .count();

// or merge map/filter into one with ---> .filter(t -> t.getPackageObject()...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...