【问题标题】:How to get the Collection using stream API如何使用流 API 获取集合
【发布时间】:2018-11-14 22:17:47
【问题描述】:

我正在尝试从具有集合集合的数据结构中访问字符串列表。我尝试过的是返回一个集合列表,但我想要一个列表。这是我的代码:

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

以下是源数据结构的快照:

有人可以提示我如何使用流 API 作为结果获取 accessData->associatedArea(list of string) 吗?

【问题讨论】:

标签: java loops java-8 iteration java-stream


【解决方案1】:

使用flatMap

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

【讨论】:

    【解决方案2】:

    这应该让你开始:

    List<List<String>> example = ... ;
    example.stream().flatMap(list->list.stream()).collect(...)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      • 2018-10-11
      • 2020-02-26
      • 1970-01-01
      相关资源
      最近更新 更多