依据厦大林子雨老师的教程:
map操作是针对集合的典型变换操作,它将某个函数应用到集合中的每个元素,并产生一个结果集合。
flatMap是map的一种扩展。在flatMap中,我们会传入一个函数,该函数对每个输入都会返回一个集合(而不是一个元素),然后,flatMap把生成的多个集合“拍扁”成为一个集合。
通过下面的对比,可以看出二者的区别:
可见,flatMap操作是先对每个元素做toList处理(Map),而后将各个元素的处理结果(集合)做拼接/拍扁(flatten)。
依据厦大林子雨老师的教程:
map操作是针对集合的典型变换操作,它将某个函数应用到集合中的每个元素,并产生一个结果集合。
flatMap是map的一种扩展。在flatMap中,我们会传入一个函数,该函数对每个输入都会返回一个集合(而不是一个元素),然后,flatMap把生成的多个集合“拍扁”成为一个集合。
通过下面的对比,可以看出二者的区别:
可见,flatMap操作是先对每个元素做toList处理(Map),而后将各个元素的处理结果(集合)做拼接/拍扁(flatten)。