下面是一个示例代码,用于遍历一个案例类列表,并仅输出一个案例类:
sealed trait Animal
case class Cat(name: String) extends Animal
case class Dog(name: String) extends Animal
case class Fish(name: String) extends Animal
val animalList: List[Animal] = List(Cat("Tom"), Dog("Max"), Fish("Nemo"))
val firstAnimal: Option[Animal] = animalList.find(_ => true)
firstAnimal match {
case Some(animal) => println(animal)
case None => println("No animals found")
}
上述代码中,我们定义了一个Animal
案例类及其子类Cat
、Dog
和Fish
。然后创建了一个animalList
列表,包含了几个不同类型的Animal
实例。
通过调用find
方法,我们可以遍历animalList
列表,并返回第一个满足条件的元素,这里的条件是_ => true
,即返回列表中的第一个元素。
接着,我们使用match
表达式来匹配firstAnimal
的结果,并根据结果输出相应的信息。如果firstAnimal
是Some(animal)
,则输出该动物实例;如果firstAnimal
是None
,则输出"No animals found"。
运行以上代码,会输出第一个找到的动物实例。如果列表为空,则会输出"No animals found"。
上一篇:遍历一个3D数组
下一篇:遍历一个ArrayList