Scala基础知识之集合
一、如果用数字循环的话,可以使用to或until函数,例如
//to 打印到100
scala> for (i <- 0 to 100)
println("num:" + i)
//util打印到99
scala> for (i <- 0 until 100)
println("num:" + i)
二、也可以使用多个if语句进行多层过滤,例如:
scala> for(i <- 0 to 100 if(i%2)==1)
println("num:" + i)
scala> for(i <- 0 to 100
| if(i%2 == 1); //多个过滤器,使用";"隔开
| if(i%5 >3)
| )
| println("num:" + i)
num:9
num:19
num:29
num:39
num:49
num:59
num:69
num:79
num:89
num:99
scala>
scala>
三、_的表示含义
1、 _作为“通配符” ,类似Java中的*。如import scala.math._
2、 :_*作为一个整体,告诉编译器你希望将某个参数当作参数序列处理!例如vals = sum(1 to 5:_*)就是 将1 to 5当作参数序列处理。
3、指代一个集合中的每个元素。例如我们要在一个Array a中筛出偶数,并乘以2,可以用以下办法: a.filter(_%2==0).map(2*_)。
又如要对缓冲数组ArrayBufferb排序,可以这样:
val bSorted= b.sorted (_
4、在元组中,可以用方法_1, _2, _3访问组员。如a._2。其中句点可以用空格替代。
5、使用模式匹配可以用来获取元组的组员,例如 val (first, second, third) = t但如果不是所有的部件都需要,那么可以在不需要的部件位置上使用_。比如上一例中val(first, second, _) = t
6、还有一点,下划线_代表的是某一类型的默认值。 对于Int来说,它是0。 对于Double来说,它是0.0 对于引用类型,它是null。\