打印九九乘法表
for(i <- 1 to 9;j <- 1 to i ) print(s"$i x $j = ${i * j} ${if(i == j) "\n" else "\t"} ")
累加器
foldLeft
(0/:(1 to 100))(_ + _)
foldRight
((1 to 100):\0)(_+_)
foldLeft统计字符串中字符出现的次数:
def main(args: Array[String]):Unit = {
val sentence = "ASDFGHJKLPOIUTEWQZXCVBNMJGFDSERTYHJIYTTSASDFGHJKOIUYTRZXCVBNKJHYGFERTY"
val map = sentence.foldLeft(Map[Char,Int]())(countChar).toList.sortWith(_._2>_._2)
println(map)
}
def countChar(map: Map[Char,Int], c: Char): Map[Char,Int] = {
map + (c -> (map.getOrElse(c,0)+1))
}
List(1,2,3,4,5,“hello”) —> List(2,3,4,5)
println(List(1,2,3,4,5,"hello").collect{case i:Int => i+1}