代码一:
这里面会看到flagMap会把list集合转成字符类型的集合
而map只是打印了一下,相当于什么都没干 等同于 println(wordCount)
def main(args: Array[String]): Unit = {
var wordCount: List[String] = List("hello world", "hello count");
val strings1: List[String] = wordCount.map(word => word)
println(strings1)
val chars: List[Char] = wordCount.flatMap(word => word)
println(chars)
}
代码二:
这里面使用map会把list中的元素按空格拆分最后生成一个二维的数据
而flagMap则会把wordCount压缩成一个一维的List集合
//第一种,map,把list中的每个元素转成一个二维的数组
val stringses: List[Array[String]] = wordCount.map(word => {
word.split(" ")
})
stringses.foreach(arr => arr.foreach(a => println(a, 1)))
println("========================================================================")
//第二种,flagMap(),把list中的数据压缩成一维的
val strings: List[String] = wordCount.flatMap(word => word.split(" "))
println(strings)
strings.foreach(count => {
println((count, 1))
})
}