scala中for循环中得模式匹配

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


转载于:https://my.oschina.net/bravozu/blog/416024

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值