Как получить коллекцию с использованием потокового API - PullRequest
0 голосов
/ 05 июня 2018

Я пытаюсь получить доступ к списку строк из структуры данных, которая имеет коллекцию коллекции.То, что я попробовал, это вернуть список коллекций, но я хочу один список.Вот мой код:

    Collection result= (Collection)allPatientsAccessRecords.stream()
            .filter(rec -> rec.data.personId==8191).map(data->data.accessData.associatedAreas).
                    collect(Collectors.toList());

Вот снимок структуры исходных данных: enter image description here

Может кто-нибудь намекнуть мне, как я могу получить accessData->relatedArea (список строк) в результате использования потокового API?

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Это должно помочь вам начать:

List<List<String>> example = ... ;
example.stream().flatMap(list->list.stream()).collect(...)
0 голосов
/ 05 июня 2018

Использование flatMap

allPatientsAccessRecords.stream()
        .filter(rec -> rec.data.personId == 8191)
        .flatMap(data -> data.accessData.associatedAreas.stream())
        .collect(Collectors.toList());
...