编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

map、flatMap、collect、foreach、reduce和fold

map

val scoreMap = Map("leo" -> 90, "jack" -> 60, "tom" -> 70)
val names = List("leo", "jack", "tom")
names.map(scoreMap(_))

flatmap

val scoreMap = Map("leo" -> List(80, 90, 60), "jack" -> List(70, 90, 50), "tom" -> List(60,70,40))
names.map(scoreMap(_))
names.flatMap(scoreMap(_))

collect操作,结合偏函数使用

"abc".collect { case 'a' => 1; case 'b' => 2; case 'c' => 3 }

foreach操作,遍历

names.foreach(println _)

reduce

List(1, 2, 3, 4).reduceLeft(_ - _)
List(1, 2, 3, 4).reduceRight(_ - _)

fold

List(1, 2, 3, 4).foldLeft(10)(_ - _)
List(1, 2, 3, 4).foldRight(10)(_ - _)


未经允许不得转载: 技术文章 » 大数据 » map、flatMap、collect、foreach、reduce和fold