@AlexFox2019
Junior Java Developer

Как правильно перебрать вложенные Java Map?

Всем привет. Есть список обьектов User(name, age, departmant, position, salary) которые нужно группировать
по полям, допустим name, departmant, position, salary.
Группировку делаю так
Map<String, Map<String, Map<String, Map<String, List<User>>>>> collect = listUsers.stream()
                                .collect(groupingBy(User::getDepartmant,
                                        groupingBy(User::getPosition,
                                                groupingBy(User::getName,
                                                        groupingBy(User::getSalary)))));

Нужно получить доступ к List и дальше работать с ним.
Делаю так
collect.values().stream()
                                .flatMap(hm -> hm.values().stream())
                                .flatMap(hm -> hm.values().stream())
                                .flatMap(hm -> hm.values().stream())
                                .filter(users -> /*condition*/)

Правильный ли такой подход, или есть наглядней/проще/правильный.
  • Вопрос задан
  • 400 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Neonoviiwolf
Flutter developer
Это треш, создайте класс - сущность, который будет хранить нужные данные и из него можно сделать список или мапу или что-то подобное.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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