Java中的flatMap是一种将多个集合或流合并为一个集合或流的方法。它主要用于处理嵌套的集合结构,将其扁平化为一个单一的集合。flatMap是Stream API的一部分,可以与Java 8及更高版本一起使用。
以下是使用flatMap处理集合的一些示例:
- 将嵌套的集合扁平化为一个集合:
import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class FlatMapExample { public static void main(String[] args) { List> nestedList = new ArrayList<>(); nestedList.add(Arrays.asList(1, 2, 3)); nestedList.add(Arrays.asList(4, 5, 6)); nestedList.add(Arrays.asList(7, 8, 9)); List
flattenedList = nestedList.stream() .flatMap(list -> list.stream()) .collect(Collectors.toList()); System.out.println("Flattened list: " + flattenedList); } }
输出:
Flattened list: [1, 2, 3, 4, 5, 6, 7, 8, 9]
- 将多个集合合并为一个流:
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class FlatMapExample { public static void main(String[] args) { Listlist1 = Arrays.asList(1, 2, 3); List list2 = Arrays.asList(4, 5, 6); List list3 = Arrays.asList(7, 8, 9); Stream combinedStream = Stream.of(list1, list2, list3) .flatMap(list -> list.stream()); combinedStream.forEach(System.out::println); } }
输出:
1 2 3 4 5 6 7 8 9
在这些示例中,我们使用了flatMap方法将嵌套的集合扁平化为一个集合,以及将多个集合合并为一个流。flatMap非常适用于处理嵌套数据结构,使其更易于处理和操作。