高阶函数
作用:把其他函数当做参数或返回值
def main(args: Array[String]): Unit = {
// 定义数组,Array(1,2,3,4)
var arr = Array(10,22,13,54) //定义一个数组有4个元素
// println(arr(2)) //获取第一个元素
// 遍历
for(i <- arr){
println(i)
}
map函数
作用:通过数组的每一个元素应用一个函数来构建一个新数组。
def main(args: Array[String]): Unit = {
var arr2 = Array(1,2,3,4,5).map(a => a*a)
for( i <- arr2) {
println(i)
}
}
foreach函数
作用:通过对数组的每一个元素应用一个函数,不访问新数组。
def main(args: Array[String]): Unit = {
var rs = Array(1,2,3,4,5).foreach(x => {
println(x + 2)
})
println(rs)
Array(1,2,3,4,5).foreach(println)
}
filter函数
作用:对数组元素使用函数进行过滤。如果返回为true就保留。
def main(args: Array[String]): Unit = {
// var rs = Array(1,2,3,4,5).filter( x => true)
var rs = Array(1,2,3,4,5).filter( x => {
if(x % 2 == 0)
true
else
false
})
rs.foreach(println)
Array(1,2,3,4,5).filter( x => true).foreach(println)
}
flatten函数
将二维数组中的元素展平至单数组中。
def main(args: Array[String]): Unit = {
var arr = Array(
Array(30,40,50),
Array(70,80,90),
Array(31,42,51),
)
var arr2 = arr.flatten
arr2.foreach(println)
// 二维数组中的最大值
// 先转成一维数组
var arr3 = arr.flatten
// 再求最大值
println(arr3.max)
}
标签:函数,Scala,println,foreach,数组,var,Array,高阶
From: https://blog.csdn.net/2301_80870395/article/details/143115881