gpt4 book ai didi

scala - 使用选定元素将一个案例类转换为另一个案例类

转载 作者:行者123 更新时间:2023-12-05 09:04:52 26 4
gpt4 key购买 nike

想要在制作输出案例类列表时从输入类中检索特定元素。

示例:

case class Student(id:Int, grade:Int, marks:Int)
case class StudentID(id:Int,grade:Int)


val inputList= Option[List(Student(1,100,234) ,Student(2,200,453), Student(3,300,556))]
val outputList=List(StudentID(1,100),StudentID(2,200),StudentID(3,300)) //result

我只想获取 ID 和等级。请建议。此外,问题是输入列表是 Option[]

val a = inputList.iterator.flatMap{ i=> outputList(i.map(_.id)) }

最佳答案

如果从 StudentStudentID 的转换发生在整个代码库的多个位置,那么将翻译逻辑放在伴随对象中可能是有意义的。

case class Student(id:Int, grade:Int, marks:Int)
case class StudentID(id:Int,grade:Int)
object StudentID {
def apply(s: Student) = new StudentID(s.id, s.grade)
}

val inputList=
Option(List(Student(1,100,234) ,Student(2,200,453), Student(3,300,556)))

inputList.map(_.map(StudentID(_)))
//res0: Option[List[StudentID]] =
// Some(List(StudentID(1,100), StudentID(2,200), StudentID(3,300)))

关于scala - 使用选定元素将一个案例类转换为另一个案例类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68094351/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com