Найти максимальное значение в потоке

97
29 мая 2021, 11:20
public class Run {
public static void main(String[] args) {
    List<Person> persons = new ArrayList<>();
    persons.add(new Person("Jean", "Clod-Van-Dame", 58));
    persons.add(new Person("Arnold", "Schwarzenegger", 72));
    persons.add(new Person("Silvester", "Stallone", 73));
    persons.add(new Person("Bruce", "Willis", 64));
    persons.add(new Person("Jackie", "Chan", 65));
    persons.stream()
            .filter(p -> p.getFirstName().length() + p.getLastName().length() < 15)
            //??? getAge
            .map(p -> p.getFirstName() + " " + p.getLastName())
            .forEach(System.out::println);
}

Всем привет. Подскажите, как из двух оставшихся объектов после первого фильтра(по длине имени): Bruce & Jackie, вывести один с наибольшим возрастом(Jackie)

Answer 1

Например, вот так:

persons.stream()
            .filter(p -> p.getFirstName().length() + p.getLastName().length() < 15)
            .max(Comparator.comparing(Person::getAge))
            .ifPresent(p -> System.out.println(p.getFirstName() + " " + p.getLastName()));
READ ALSO
Инкапсуляция кота

Инкапсуляция кота

Спроектируйте класс Cat с любыми полями, но таким образом, чтобы для него были доступны следующие методы:

96
Межкомпонентная связь React: как передавать данные между компонентами?

Межкомпонентная связь React: как передавать данные между компонентами?

Здравствуйте! Вопрос касается связи между компонентами React,а именно: передача данных из одного компонента в другой

218
TypeError: removeAttr is not a function

TypeError: removeAttr is not a function

Есть обработчик события вставки:

94