温馨提示×

java flatmap的用法是什么

小亿
141
2023-11-22 23:24:35
栏目: 编程语言

在Java中,flatMap是一个常见的函数式编程操作,用于将嵌套的集合结构(多维数组、嵌套列表等)转化为一个扁平的集合。

具体来说,flatMap接受一个函数作为参数,该函数将原始集合中的每个元素转换为一个新的集合,并将这些新的集合合并成一个单一的扁平集合。这个操作可以减少集合的维度,并将多个嵌套层级的元素展开成一个单层级的集合。

以下是一个使用flatMap的示例代码:

List<List<Integer>> nestedList = Arrays.asList(
    Arrays.asList(1, 2, 3),
    Arrays.asList(4, 5, 6),
    Arrays.asList(7, 8, 9)
);

List<Integer> flatList = nestedList.stream()
                                  .flatMap(List::stream)
                                  .collect(Collectors.toList());

System.out.println(flatList); // 输出 [1, 2, 3, 4, 5, 6, 7, 8, 9]

在上述代码中,nestedList是一个包含多个嵌套列表的集合。通过使用flatMap操作,我们可以将这个嵌套的结构转换为一个扁平的集合flatListflatMap(List::stream)将每个嵌套列表转换为一个流,并将这些流合并为一个单一的流,最终使用collect(Collectors.toList())将流收集为一个List

总之,flatMap可以帮助我们将嵌套的集合结构转换为一个扁平的集合,简化集合操作的逻辑。

0