Scala深入浅出进阶经典 第87讲:Scala中使用For表达式做查询

package com.dt.scalaInAction.demo_087

/**
 * Scala中使用For表达式做查询
 */
case class Book(title: String, author: List[String])
object For_Query {
    def main(args: Array[String]): Unit = {
        val books = List(
            Book("Structure and Interpretation", List("Abelson,Harold", "Sussman")),
            Book("Principles of Compiler Design", List("Aho,Alfred", "Ullman,Jeffery")),
            Book("Programming in Modula-2", List("Wirth,Niklaus")),
            Book("Introduction to Functional Programming", List("Bird,Richard")),
            Book("The Java Language Specification", List("Gosling,James", "Joy,Bill", "Steele,Guy", "Bracha,Gilad"))
        )
        
        val result = for(b <-books; a<-b.author; if a startsWith "Gosling") yield b.title
        println(result)  //result: List(The Java Language Specification)
        
        val result1 = for(b <-books; if(b.title indexOf "Programming")!= -1 ) yield b.title
        println(result1)  //result: List(Programming in Modula-2, Introduction to Functional Programming)
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值