case class Book(title: String, authors: List[String])
object For_Query {
def main(args: Array[String]): Unit = {
val books: List[Book] = List (
Book("book1", List("a", "b")),
Book("book2", List("c", "d")),
Book("book3", List("e")),
Book("book4", List("f")),
Book("book5", List("g", "h", "i", "j"))
)
//使用守卫做查询,守卫不能有分号
val result = for (b <- books; a <- b.authors if a startsWith("a"))
yield b.title
println(result) //List(book1)
val result2 = for (b <- books if b.title.indexOf("2") >= 0)
yield b.title
println(result2) //List(book2)
}
}
scala进阶31-使用for做查询
最新推荐文章于 2021-06-06 13:36:48 发布