Java 8 stream流中map和flatMap有什么区别呢?
下文笔者将讲述java8中stream流下的map和flatmap的区别,如下所示
此处的map和flatMap都是Stream流接口中的方法, 下文笔者将讲述map和flatMap方法的功能,如下所示:img
map方法的功能
map方法的功能: 对流中所有元素进行类型转换例:
flatMap方法的功能
flatMap的功能: flatMap即对流中每个元素进行平铺后,形成多个流合在一起例:
package com.java265.other; import java.util.Arrays; import java.util.list; import java.util.stream.Collectors; import java.util.stream.Stream; public class Test16 { /** * java265.com 示例程序 * * @throws Exception */ public static void main(String[] args) throws Exception { List<String> list = Arrays.asList("a", "b", "c", "d"); List<String> list2 = list.stream().map(e -> e.concat(",")).collect(Collectors.toList()); list2.forEach(System.out::print); // flatmap的示例分享 String[] arr1 = { "a", "b" }; String[] arr2 = { "c", "d" }; String[] arr3 = { "e", "f" }; List<String> list3 = Stream.of(arr1, arr2, arr3).flatMap(Arrays::stream) .collect(Collectors.toList()); list3.forEach(System.out::print); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。