foreach函数

63 阅读2分钟

object base48 { /* * 高阶函数:一种特殊的函数,他的参数和返回值是函数类型 * 1.map函数 * */ def main(args: Array[String]): Unit = { val arr1 = Array(1,2,3,4,5,6) //Array是一个构造器,用来定义一个数组 //arr1就是一个数组对象,它有很多的方法,其中就有map, val fn = (x:Int) => x * 2 val arr2 = arr1.map(fn) // for循环来输出数组中的每个元素。 for(i <- arr2){ println(i) } } }

运行结果如下:

把(1,2,3,4,5) → (1,4,9,16,25)

把(-1,2,-3,-4) → (1,2,3,4)

object base48 { /* * 高阶函数:一种特殊的函数,他的参数和返回值是函数类型 * 1.map函数 * */ def main(args: Array[String]): Unit = { val arr1 = Array(1,2,3,4,5) //Array是一个构造器,用来定义一个数组 //arr1就是一个数组对象,它有很多的方法,其中就有map, //val fn = (x:Int) => x * 2 //输出 //val fn = (x:Int) => x * x //平方 val fn = (x:Int) => -x //加-号 val arr2 = arr1.map(fn) // for循环来输出数组中的每个元素。 for(i <- arr2){ println(i) } } }

3.foreach函数

任务: 打印数组中的元素

作用:对数组的每一个元素应用函数。

语法:数组.foreach(元素=>{})

代码如下所示:

object base49 { /** * foreach * 是数组的每一个元素都执行一次 函数 */ def main(args: Array[String]): Unit = { val arr1 = Array(1,2,3,4,5) arr1.foreach(print) arr1.foreach(println) // for (i <- arr1){ // print(s"$i ") // } } }

4.filter函数

在数组中找出元素是偶数的,并组成新数组。(1,2,3,4,5) → (2,4)

作用:对数组元素使用函数进行过滤。

语法:新数组= 旧数组.filter(元素=>bool)  它的参数是一个函数,这函数的返回值是布尔值。如果返回为true就保留。

去掉不及格的分数:(60,59,80,70) → (60,80,70)

代码如下:

val arr1 = Array(1,2,3,4,5,6) val arr3 = arr1.filter(x=> x%2  == 0) arr3.foreach(println) object base51 { def main(args: Array[String]): Unit = { // 把数值为偶数的留下来 val arr1 = Array(1, 2, 3, 4, 5) val arr2 = arr1.filter(x => x % 2 == 0) arr2.foreach(println) var score = Array(90, 98, 60, 49, 100) // 把小于80分的值去掉,只保留大于80分的分数 val scoreAbove80 = score.filter(x => x > 80) scoreAbove80.foreach(println) } }

运行结果如下:

5.flatten函数

作用:将二维数组中的元素展平至单数组中。

语法:二维数组.flatten。不需要写()

代码如下:

var arr1 = Array(Array(1,2,3), Array(4,5,6)) println(arr1(0)(0)) var arr2 = arr1.flatten