调用flatMap方法,前提是保证是一个可迭代的集合(字符串也是一个可迭代的集合)
1.什么类型集合调用flatMap方法,返回的类型也是该类型
2.flatMap方法先对集合中的每一个元素进行map,再对map后的每一个元素进行flatten(这里map后的每一个元素必须也是集合)
注:进行map的对象可以是只含一层的集合,但是进行flatten操作的对象必须是含两层以上的集合
val list1 = List(
List(1,2), List(3,4)
)
val l1: List[Int] = list1.flatMap(//返回类型还是List[Int]
list => {//整体
list //容器 map处理后的还是两层的结合
}
)
println(l1)
val list2 = List(1,2,3,4)
val l2: List[Int] = list2.flatMap(
num => List(num)//这里进行过map处理后的数据必须是两层以上的集合,因此为List(num)
)
println(l2)