【发布时间】:2016-05-08 23:40:13
【问题描述】:
我寻找一种方法来计算字符串中的不同字符。 问题是 不允许使用 scala-api 中的任何函数或使用 vars(仅限 val)。
我想要同样的结果
val fruit: String = "dasisteintest"
println(fruit.groupBy(identity).mapValues(_.size))
Map(e -> 2, s -> 3, n -> 1, t -> 3, a -> 1, i -> 2, d -> 1)
在我所做的每一次尝试中,我最后都有一个list[(Char,Int)],我必须在其中更改 Int.但是因为它是一个不可变的列表,所以我无法更改它。
如何实现该计数字符算法?
【问题讨论】:
-
不清楚您的实际问题是什么。假设你不只是在有人为你回答你的任务之后,你在哪里卡住了?输出应该是什么样子?
Map(和groupBy)是 scala-api 的一部分,所以不清楚你想要什么。你能用什么? -
正如我在上面所写的,我需要 相同的结果,例如
fruit.groupBy(identity).mapValues(_.size),但 没有来自 scala-api 的函数。我所有的尝试都失败了,因为每次我需要更改列表的一个元素。我知道我“只”必须使用已更改的元素创建新列表。但我不知道如何实现它以使用更改的元素创建一个新列表。所以我希望有人可以帮助我更改列表的元素(没有来自 api 的函数),或者有人有其他方法来计算字符串中的不同字符......希望现在一切都清楚了吗?
标签: scala