Scala学习之List

Scala学习之List

统计单词出现次数

import scala.collection.mutable
//涉及List与Map
object T7 {
  def main(args: Array[String]): Unit = {
    var list: List[String] = List("Hello Hadoop", "Hello World", "Hello Scala World", "Hello Scala")
    f1(list)
    f2(list)
  }
  def f1(list: List[String]) = {
    var list1: List[String] = list.flatMap(_.split(" "))
    var map = list1.groupBy(word => word)
    var map1 = map.map(kv => {
      (kv._1, kv._2.size)
    })
    var result = map1.toList.sortWith({
      (left, right) => {
        left._2 > right._2
      }
    }).take(3)
    println(result)
  }

  def f2(list: List[String]) = {
    var list1: List[String] = List()
    for (str <- list) {
      var arr = str.split(" ")
      for (str1 <- arr) {
        list1 = list1.+:(str1)
      }
    }
    val map = new mutable.HashMap[String, Int]();
    for (str <- list1) {
      if (map.keySet.contains(str)) {
        map(str) = map(str) + 1
      } else {
        map.put(str, 1)
      }
    }
    var result = map.toList.sortWith({
      (left, right) => {
        left._2 > right._2
      }
    }).take(3)
    println(result)
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值