gpt4 book ai didi

Scala - 减少功能

转载 作者:行者123 更新时间:2023-12-05 08:16:35 25 4
gpt4 key购买 nike

如何在 Scala 中使用 reduce 函数?有这样的内置功能吗?我已经实现了一个在 scala 中查找字数统计的程序。

object count {
def main(args: Array[String]) {
val fruits = List("apple", "apple", "orange", "apple", "mango", "orange")
val word = fruits.flatMap(_.split("\n"))
val Map = word.map(word => (word,1)).groupBy(_._1)
val reduce = Map.map(word => (word._1,word._2.foldLeft(0)((sum,c) => sum+ c._2)))
println(reduce) }}

如何用reduce函数替换foldleft?

最佳答案

上面的整个例子应该这样实现

fruits groupBy(word => word) mapValues(_.size)

或者像这样作为折叠的替代品

val reduce = Map.map(word => (word._1,word._2.size))

但是如果你绝对肯定必须在相同的代码中使用 reduce,它会是这样的

val reduce = Map.map(word => (word._1,word._2.map(_=>1).reduce(_+_)))

关于Scala - 减少功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24216479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com