用scala函数取Array列表元组中某元素的最大值、最小值和平均值
val arr=Array((1,“a”,123),(2,“b”,12),(3,“c”,-50))//id,name,age。需求:用函数取age最大值最小值和平均值。
scala> val arr=Array((1,“a”,123),(2,“b”,12),(3,“c”,-50))
scala> arr
res02: Array[(Int, String, Int)] = Array((1,a,123), (2,b,12), (3,c,-50))
方法一:(取单个值)
scala> arr.map(a=>a._3).max
res03: Int = 123
scala> arr.map(a=>a._3).min
res04: Int = -50
scala> arr.map(a=>a._3).sum/arr.size
res05: Int = 28
方法二:(取单个值所在的元组)
min(),max()默认取数组每个元组的第一个元素的最值,不适合题目需求,故需要用到minBy(),maxBy()
scala> arr.minBy(a=>a._3)
res50: (Int, String, Int) = (3,c,-50)
scala> arr.maxBy(a=>a._3)
res51: (Int, String, Int) = (1,a,123)
本文介绍了如何使用Scala函数从给定的Array列表元组中提取年龄值,计算最大值、最小值和平均值,适合处理(id,name,age)格式的数据。通过map和minBy/maxBy方法演示了具体操作。

583

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



