本文主要是介绍scala02,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
/**
* @auther :${user}
* @date :2022/2/10 23:44
*
*/
object test17 {
def main(args: Array[String]): Unit = {
val list: List[(String, Int)] = List(
("hello scala hbase kafka", 2),
("hello scala hbase", 2),
("hello scala hello", 1)
)
//思路一直接展开为普通版本
val newList = list.map(
kv => {
(kv._1.trim + " ") * kv._2
})
println(newList)
println(newList
.flatMap(_.split(" "))
.groupBy(word => word)
.map(kv => (kv._1, kv._2.length))
.toList
.sortWith(_._2 > _._2))
//思路二,基于与统计的结果进行转换
val preCountList: List[(String, Int)] = list.flatMap(
kv => {
val strings: Array[String] = kv._1.split(" ")
strings.map(key => (key, kv._2))
}
)
val wordCountMap: Map[String, Int] = preCountList.groupBy(_._1).mapValues(
tupleList => tupleList
.map(_._2)
.sum
)
val rankList: List[(String, Int)] = wordCountMap
.toList
.sortWith(_._2 > _._2)
.take(3)
println(rankList)
}
}
这篇关于scala02的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!