Как и в моем предыдущем вопросе здесь, Пользователь strong> объекты, которые у меня есть, это
new User("ayush","admin",23)
new User("ashish","guest",19)
new User("ashish","admin",20)
new User("garima","guest",29)
new User("garima","super",45)
new User("garima","guest",19)
Теперь я пытаюсь дать название тренду разного возраста для этих пользователей. Но мне нужно отфильтровать их старше threshold
возраста. Я мог бы получить тренд, используя
Map<String, List<Integer>> userNameAndAgeTrend = users.stream().collect(Collectors.groupingBy(user-> user.getName(), Collectors.mapping(u-> u.getAge(), toList())));
это дает мне {ashish=[19, 20], garima=[29, 45, 19], ayush=[23]}
. Но я не могу правильно отфильтровать список, используя порог, например 21 год в моей ситуации, используя такую группировку. Может кто-нибудь помочь?
Кроме того, использование .filter(user -> user.getAge() > 21)
не дает сопоставления для ashish, что я тоже хочу сохранить. Я могу использовать Java10, установленную на моем компьютере, и пробовать предложенные решения.