java中的flatmap怎么使用

1045
2023/12/6 5:53:13
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Java中,flatMap是一个用于将Stream中的每个元素映射到一个Stream,并将所有的Stream连接成一个Stream的操作。

flatMap可以用于一对多的映射,例如将一个字符串列表中的每个字符串拆分为单个字符,然后将所有字符连接成一个字符流。

下面是一个使用flatMap的示例:

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class FlatMapExample {
    public static void main(String[] args) {
        List<String> words = Arrays.asList("Hello", "World");

        List<String> characters = words.stream()
                .flatMap(word -> Arrays.stream(word.split(""))) // 将每个单词拆分为字符流
                .collect(Collectors.toList());

        System.out.println(characters); // 输出:[H, e, l, l, o, W, o, r, l, d]
    }
}

在上面的示例中,首先创建了一个字符串列表words,然后使用stream()方法将其转换为一个流。接下来,使用flatMap操作对每个单词进行拆分,将每个单词转换为一个字符流。最后,使用collect方法将所有字符收集到一个列表中,并打印输出。

需要注意的是,flatMap操作返回的是一个流,因此在后续的操作中可以继续链式调用其他的Stream操作。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: java订单超时自动取消功能怎么实现