您的位置:首页 > 其它

Scala 中for表达式查询

2016-01-11 22:28 169 查看
1、代码

package com.yy.enhance

/**
* yield使用示例
*/
case class Emp1(name:String,address:String,title:List[String])
object ForAndYieldTest extends App {

val rs = for(x <- List(1,2,3);y <- List("xx","yy","zz"))
yield(x,y)
println(rs)

//for表达式查询
val emps:List[Emp1] = List(
Emp1("xyz","bj",List("Manager")),
Emp1("xyq","tj",List("Manager","Director")),
Emp1("opq","sy",List("Employee"))
)
val rs2 = for(e <- emps; a1 <- e.title if a1 startsWith "Manager") yield(e.name)
println(rs2)

val rs3 = for(e <- emps if (e.name indexOf "xy") >=0) yield(e.title)
println(rs3)
}2、结果
List((1,xx), (1,yy), (1,zz), (2,xx), (2,yy), (2,zz), (3,xx), (3,yy), (3,zz))
List(xyz, xyq)
List(List(Manager), List(Manager, Director))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Scala for循环