使用神语法
scala> val a = Array(20, 12, 6, 15, 2, 9)
|
1
2
3
4
5
6
7
8
|
scala> a.reduceLeft(
_
+
_
)
// 数组求和
res
0
:
Int
=
64
scala> a.reduceLeft(
_
*
_
)
// 数组求乘积
res
1
:
Int
=
388800
scala> a.reduceLeft(
_
min
_
)
// 数组求最小值
res
2
:
Int
=
2
scala> a.reduceLeft(
_
max
_
)
// 数组求最大值
res
3
:
Int
=
20
|
使用函数
自定义函数实现数组求最大值功能
|
1
2
3
4
|
scala>
val
a
=
Array(
20
,
12
,
6
,
15
,
2
,
9
)
scala>
val
f
=
(x
:
Int, y
:
Int)
=
> x max y
scala> a.reduceLeft(f)
res
0
:
Int
=
20
|
实现原理
第一、第二个数的比较结果再与第三个数进行比较,以此类推。x为上一次结果,y为本次比较数值
参考:http://alvinalexander.com/scala/scala-reduceleft-examples
--end
本文介绍Scala中使用reduceLeft方法对数组进行求和、求乘积、求最大值和最小值的操作,并通过自定义函数实现数组最大值的计算。reduceLeft通过两两元素间的运算将数组简化为单一值。
1154

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



