我想过滤基于特定主题的学生列表内的主题列表,即在我的情况下为"maths"
。根据scala中的参数过滤列表
以下是定义Student和Subject类的代码。
case class Student(
name:String,
age:Int,
subjects:List[Subject]
)
case class Subject(name:String)
val sub1=Subject("maths")
val sub2=Subject("science")
val sub3=Subject("english")
val s1=Student("abc",20,List(sub1,sub2))
val s2=Student("def",20,List(sub3,sub1))
val sList=List(s1,s2)
预计产量低于
s1 contains Student("abc",20,List(sub1))
和s2 contains Student("def",20,List(sub1))
即sub2 and sub3
作为解释被过滤掉与过滤科目的学生(s1,s2)
的
名单。
下面我试过,但它因此未工作
val filtered=sList.map(x=>x.subjects.filter(_.name=="maths"))
“它因此未工作”我知道其他人已经回答了你的问题,但请不要把“它不工作”没有什么办法没有奏效说(理想情况下,说什么它没有做,而不是以及它与预期的不同之处) –