文章目录
scala reduce 集合操作图解
// Scala program to
// print maximum value
// using reduce()
// Creating object
object GfG
{
// Main method
def main(args:Array[String])
{
// source collection
val collection = List(1, 3, 2, 5, 4, 7, 6)
// finding the maximum valued element
val res = collection.reduce((x, y) => x max y)
println(res)
// 7
}
}

// Scala program to
// print average
// using map() and reduce()
//Creating object
object GfG
{
// Main method
def main(args:Array[String])
{
// source collection
val collection = List(1, 5, 7, 8)
// converting every element to a pair of the form (x,1)
// 1 is initial frequency of all elements
val new_collection = collection.map(x => (x,1))
/*
List((1, 1), (5, 1), (7, 1), (8, 1))
*/
// adding elements at corresponding positions
val res = new_collection.reduce( (a,b) => ( a._1 + b._1,
a._2 + b._2 ) )
/*
(21, 4)
*/
println(res)
println("Average="+ res._1/res._2.toFloat)
}
}


本文通过两个具体示例介绍了 Scala 中 reduce 方法的应用:一是寻找列表中的最大值;二是计算列表元素的平均值,涉及到 map 和 reduce 的组合使用。
1076

被折叠的 条评论
为什么被折叠?



