码迷,mamicode.com
首页 > 其他好文 > 详细

9-1 Array

时间:2018-10-04 09:16:50      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:bool   1.0   exe   div   def   can   code   map   math   

scala> val arr = Array(1,2)
arr: Array[Int] = Array(1, 2)

map

//说明
def map[B, That](f: Int => B)(implicit bf: scala.collection.generic.CanBuildFrom[Array[Int],B,That]): That
scala> def add(a:Int)={
     |     a * 2
     |   }
add: (a: Int)Int

scala> arr.map(add)
res17: Array[Int] = Array(2, 4)

scala> arr.map(i => math.pow(i,i))  //传递匿名函数
res28: Array[Double] = Array(1.0, 4.0)

foreach:[trait] IndexedSeqOptimized

//说明
scala> arr.foreach override def foreach[U](f: Int => U): Unit
scala> arr.foreach(println)
1
2

filter

//说明
scala> arr.filter def filter(p: Int => Boolean): Array[Int]
scala> val arr = Array(1 to 10:_*)
arr: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

scala> arr.filter(_ % 2 == 0)
res45: Array[Int] = Array(2, 4, 6, 8, 10)

reduce:+  等同  reduceLeft

val res = arr.reduce((a,b) => a+b)  过程如下:
a  b
-------------
1  2
3  3
6  4
10  5
res:15
    

reduce:-  等同  reduceLeft

val res = arr.reduce((a,b) => a-b)
res:-13

reduceRight:+

val res = arr.reduceRight((a,b) => a+b)  过程如下:
a  b
-------
4  5
3  9
2  12
1  14
res: 15

reduceRight:-

val res = arr.reduceRight(_-_)  过程如下:
a  b
-------
4  5
3  -1
2  4
1  -2
res: 3

 

9-1 Array

标签:bool   1.0   exe   div   def   can   code   map   math   

原文地址:https://www.cnblogs.com/lybpy/p/9739954.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!