flatMap方法解析、
时间: 2023-11-21 22:55:23 浏览: 115
`flatMap`方法是Java 8中Stream API中的一个方法,它可以将一个Stream中的元素映射为多个元素,然后将这些元素扁平化为一个新的Stream。具体来说,`flatMap`方法会将一个Stream中的每个元素都映射为一个Stream,然后将这些Stream中的元素合并为一个新的Stream。这个方法通常用于将一个嵌套的数据结构(如List<List<T>>)转换为一个扁平的数据结构(如List<T>)。
下面是一个使用`flatMap`方法的例子,该例子将一个字符串列表中的每个字符串拆分为单个字符,并将这些字符合并为一个新的字符串列表:
```java
List<String> words = Arrays.asList("hello", "world");
List<String> letters = words.stream()
.map(word -> word.split(""))
.flatMap(Arrays::stream)
.collect(Collectors.toList());
System.out.println(letters); // 输出:[h, e, l, l, o, w, o, r, l, d]
```
在上面的例子中,我们首先将字符串列表中的每个字符串都映射为一个字符数组,然后使用`flatMap`方法将这些字符数组合并为一个新的Stream。最后,我们使用`collect`方法将这个新的Stream转换为一个字符串列表。
阅读全文