案例,单词统计
写法1:
val val1=List("hadoop","hello","hello","hadoop","world","hadoop")
val1.groupBy { x => x } .mapValues { x => x.size }.foreach(println(_))
打印的结果:
(hadoop,3) (world,1)
(hello,2)
写法2:
val1.map { x => (x,1) }.groupBy(x=>x._1).mapValues(x=>x.map(i=>i._2).reduce{(n,m)=> n+m}).foreach(println(_))
打印的结果:
(hadoop,3) (world,1)
(hello,2)
写法3:
l4.groupBy { x => x }.map{case(k,v)=>(k,v.size)}.foreach(println)
写法4:
l4.map { x => (x,1) }.groupBy{case(word,count)=>word}.mapValues{x=>x.map{case(word,count)=> count}.reduce(_+_)}.foreach(println)