Java 8 перебирает список и сохраняет в Map - PullRequest
0 голосов
/ 03 мая 2018
List<String> list =new ArrayList<>();
list.add("abcd");
list.add("afsd");
list.add("addd");

Map<String, List<Person>> ordersByInstrumentId = findService.findAllUsers(**list.get(0)**)
                        .stream()
                        .collect(Collectors.groupingBy(Dummy::getId, Collectors.toList()))

Мой метод findAllUsers принимает в качестве параметра строку. Я хочу заменить list.get (0) итерацией, чтобы он вызывал функцию для каждого элемента и сохранял ее в Map. Я пробовал list.foreach, но он возвращает void, поэтому нет смысла

1 Ответ

0 голосов
/ 03 мая 2018

Похоже, вам нужно:

list.stream()
    .flatMap(x -> findService.findAllUsers(x).stream())
    .collect(Collectors.groupingBy(Dummy::getId, Collectors.toList()));
...