flatMap 的更多例子
时间: 2023-08-15 18:58:35 浏览: 79
当涉及到编程中的flatMap,它通常用于处理集合(例如数组、列表)中的元素,并将其转化为新的集合。下面是一些使用flatMap的常见例子:
1. 将多个数组合并为一个数组:
```java
List<String> list1 = Arrays.asList("a", "b", "c");
List<String> list2 = Arrays.asList("d", "e", "f");
List<String> mergedList = Stream.of(list1, list2)
.flatMap(Collection::stream)
.collect(Collectors.toList());
// 输出结果: ["a", "b", "c", "d", "e", "f"]
```
2. 字符串列表中的单词拆分:
```java
List<String> words = Arrays.asList("Hello World", "I am here");
List<String> splitWords = words.stream()
.flatMap(str -> Arrays.stream(str.split("\\s+")))
.collect(Collectors.toList());
// 输出结果: ["Hello", "World", "I", "am", "here"]
```
3. 处理嵌套集合:
```java
List<List<Integer>> nestedList = Arrays.asList(
Arrays.asList(1, 2, 3),
Arrays.asList(4, 5, 6),
Arrays.asList(7, 8, 9)
);
List<Integer> flattenedList = nestedList.stream()
.flatMap(Collection::stream)
.collect(Collectors.toList());
// 输出结果: [1, 2, 3, 4, 5, 6, 7, 8, 9]
```
这些例子展示了如何使用flatMap对集合中的元素进行转换和处理。它可以将多个集合合并为一个集合,或者将嵌套集合展平为一个单层的集合。
阅读全文