Как и в моем предыдущем вопросе здесь , Пользователь объекты, которые у меня есть, это
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, установленный на моей машине, и пробовать предложенные решения.