scala中最基本的for表达式,跟java是一样的
for(x <- collection) { bibibibibib }
用x来迭代出collection中得每一个元素
在看一些其他的例子
scala> for(i <- List(1,2,3)) println(i)
1
2
3
同时在scala中有变量绑定的概念,我们可以为变量i绑定集合中得一个元素
scala> for(i@2 <- List(1,2,3)) println(i)
2
这样就只能匹配到集合中得2元素了
在scala中,我们可以直接使用for循环中得筛选功能,这里面就有点模式匹配的味道了。
scala> for((name,"female")<- Set("wang"->"male","zhang"->"female","h"->"female")) println(name+" ")
zhang
h
筛选出集合中都是女性的人的名字
同样,我们还可以使用类型模式在集合中过滤特定类型的元素出来
scala> for((k,v:Int) <- List(("A"->2),("B"->"C"))) {println(k)}
A