Gov*_*ngh -1 collections scala case-class scala-collections
我需要搜索案例类示例列表:在下面的示例中,我想知道teamList包含name=php与否.
scala> case class Team(name: String, image: String, nMember: BigInt, nYear: BigInt)
defined class Team
scala> val teamList=List(Team("scala","s.jpg",58,5),Team("java","cup.jpg",5400,18),Team("php","elephant.jpg",5800,8))
teamList: List[Team] = List(Team(scala,s.jpg,58,5), Team(java,cup.jpg,5400,18), Team(php,elephant.jpg,5800,8))
Run Code Online (Sandbox Code Playgroud)
你可以使用filter操作:
scala> case class Team(name: String, image: String, nMember: BigInt, nYear: BigInt)
defined class Team
scala> val teamList=List(Team("scala","s.jpg",58,5),Team("java","cup.jpg",5400,18),Team("php","elephant.jpg",5800,8))
teamList: List[Team] = List(Team(scala,s.jpg,58,5), Team(java,cup.jpg,5400,18), Team(php,elephant.jpg,5800,8))
scala> teamList.filter( _.name.contains("php") )
res0: List[Team] = List(Team(php,elephant.jpg,5800,8))
Run Code Online (Sandbox Code Playgroud)
仅检查是否存在这样的元素:
scala> teamList.exists( _.name.contains("php") )
res5: Boolean = true
Run Code Online (Sandbox Code Playgroud)
对于更复杂的匹配,您绝对可以进行case-match模式匹配.
scala> teamList.filter( _ match { case Team("php", _, _, _) => true case _ => false } )
res2: List[Team] = List(Team(php,elephant.jpg,5800,8))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2633 次 |
| 最近记录: |