FlatMap就是一种将数据拆分成多条数据的方法。 示意图:
[a|b|c|d] [e|f|g|h|i] [j|k|l] [m] [n|o|p] ...
↓
↓
flatmap ( s -> s.split('|') )
↓
↓
[a][b][c][d][e][f][g][h][i][j][k][l][m][n][o][p]...补充阅读#
解释 Java Stream flatMap 的展开思路,并补充与 map 的区别和结果验证方法。
如何理解与使用#
map 为每个元素产生一个映射结果,flatMap 再把映射得到的多个流展开为一个流。可先用“多组词语合并为词语流”理解原图。
验证与边界#
验证时观察结果元素的层级与数量,区分空集合、空流和空引用;展开通常不会自动去重,是否保留顺序取决于上游与后续操作。
