带有计数器

时间:2016-02-10 01:34:02

标签: scala

我正在尝试编写一个

的函数

将从文件读取的List作为输入

输出最常用的字符串以及显示其使用次数的整数。

示例输出:

( “猫”,5)

功能签名:

def mostFreq(info: List[List[String]]): (String, Int) = 

首先,我考虑过创建一个

  • 映射变量和计数器变量

  • 遍历我的列表以填充地图

  • 然后迭代地图

但是,必须有一种更简单的方法来执行此scala,但我还不习惯scala的库。

我已经看到这是一种只使用整数的方法。

Finding the most frequent/common element in a collection?

但我想知道如何使用字符串和整数来完成它。

1 个答案:

答案 0 :(得分:1)

来自链接帖子的解决方案几乎包含了您需要的所有内容。

def mostFreq(info: List[List[String]]): (String, Int) = 
  info.flatten.groupBy(identity).mapValues(_.size).maxBy(_._2)

它并没有很好地处理关系,但你还没有说明如何处理关系。