直接看例子
List<String> list = Lists.newArrayList();
list.add("hello world");
list.add("hello java");
List<String[]> collect = list.stream().map(x -> x.split(" ")).collect(Collectors.toList());
System.out.println("collect = " + JSONObject.toJSONString(collect));
List<String> collect1 = list.stream().flatMap(x -> Arrays.stream(x.split(" "))).collect(Collectors.toList());
System.out.println("collect1 = " + JSONObject.toJSONString(collect1));
结果
collect = [["hello","world"],["hello","java"]]
collect1 = ["hello","world","hello","java"]
flatMap是将多个流合并成一个流来处理,map做的是1对1的映射,flatMap做的是1对多的映射