java 8 lambda 表达式 之 flatMap

文章目录

    • 1.概述:
    • 2.举例:

1.概述:

flatMap 的作用是将多个相同类型元素的流,合并成一个流进行输出

2.举例:

给定单词列表[“Hello”,“World”],你想要返回列表[“H”,“e”,“l”, “o”,“W”,“r”,“d”]

List<String> uniqueCharacters = 

 words.stream() 

 .map(w -> w.split("")) //将每个单词转换为由其字母构成的数组

 .flatMap(Arrays::stream) //将各个生成流扁平化为单个流

 .distinct() 

 .collect(Collectors.toList()); 

使用flatMap方法的效果是,各个数组并不是分别映射成一个流,而是映射成流的内容。所有使用map(Arrays::stream)时生成的单个流都被合并起来,即扁平化为一个流。下图说明了使用flatMap方法的效果。

java 8 lambda 表达式 之 flatMap_第1张图片

你可能感兴趣的:(java)