背景
说到 Java 8 map 和 flatMap 的区别,大部分人都答不上来,会用 map 的都不多,还有一部分人甚至都不知道这两个玩意是干嘛用的,有的还以为我问 HashMap 和 FlatMap。。
这里所问的 map 和 flatMap 并不是集合,它们都是 Stream 流接口中的方法,如果你没用过,我估计在座的各位也有点晕!
在 Java 8 Stream(流)接口中有 8 个特别有意思的方法,其实就是分为两大类:
- map
- flatMap
现在知道这两个玩意的来路了吧?
map
map 方法的作用:
对流中的每个元素进行转换
比如现在有一个 List\<String\> 集合:
private static List<String> LIST = Arrays.asList("https://", "www", ".", "javastack", ".", "cn");
我想让每个元素后面都加上 "---":
/**
* map 转换
* @author: 1
* @from: 2
*/
private static void map() {
List<String> mapList = LIST.stream().map(e -> e.concat("---")).collect(Collectors.toList());
mapList.