标签:使用 os io strong for ar art new
高阶函数
val list =List(1,2,3,4,5,6,7,8)
val newList = list.map((x:Int) => 2*x) //map表示映射list中的每一个元素的值为原来的2倍
//newList中的值为
2,4,6,8,10,12,14,16
也可直接写成
map函数相当于foreach
集合Set
val s = Set(1,2,1)
//则s中的结构为
s = Set(1,2)
集合元组
val hostPort = ("localhost","8080")
//则hostPort中的结构为
hostPort: (String,String) = (localhost,8080)
访问元组中的元素
hostPort._1
//输出结果为
localhost
//通过下面的方式也可以产生一个元组
"a" -> "b"
//元组的结构为
(String,String) = (a , b)
//产生一个Map
Map("a" -> "b")
//该map的结构为
Map(String,String) = Map(a -> b)
filter的使用
val list = List(1,2,3,4,5,6)
list.filter(x => x%2==0) //择取偶数
//结果为
List(2,4,6)
zip的使用
val a = List(1,2,3)
val b = List(4,5,6)
a.zip(b) //使a中的元素与b中对应位置的元素配成对,也可写成 a zip b
//结果为
List[(Int,Int)] = List((1,4),(2,5),(3,6))
partition的使用,将一个集合分割成子集合
//把奇数和偶数分隔开
val a = List(1,2,3,4,5,6)
a.partition(_%2==0)
//结果为
(List[Int],List[Int])= (List(2,4,6),List(1,3,5))
flatten的使用,扁平化
val a = List(List("a","b"),List("c","d")).flatten
//结果为
List[String] = List(a,b,c,d)
flatMap = flat + map(扁平化+ 遍历)
var a = List(list(1,2),List(3,4))
a.flatMap(x => x.map(_ * 2)) //先将a扁平化,然后遍历(map),即将扁平后的每一个元素放入x中,然后乘以2
//结果为
Lsit[Int] = List(2,4,6,8)
标签:使用 os io strong for ar art new
原文地址:http://www.cnblogs.com/wyhuang/p/3918607.html