Scala 在 List Map 或 Foreach 中附加 Seq 和字符串
Scala append Seq in with a string in a List Map or Foreach
我想从对象属性列表中附加一个 val adminEmailSeq = Seq.empty[String]
。
我的 List[User]
调用了 'admins',我正在尝试这样做,但它不起作用:
admins.foreach(
admin => {
adminEmailSeq :+ admin.email
}
)
虽然 admin.email
包含正确的信息,但 adminEmailSeq.isEmpty
总是正确的。
根据描述,我假设您需要 Admins
中的 Emails
val adminEmailSeq = admins.map(_.email)
追加':+'实际上并没有将它追加到前导Seq。它正在复制。
关于您的解决方案,您需要这样做。
admins.foreach(
admin => {
adminEmailSeq = adminEmailSeq :+ admin.email
}
)
但我认为正确的解决方案是使用地图。
只是忘了:我喜欢不可变和值而不是变量。它可能有助于更容易地理解代码。因此我不会使用该变量重新分配(因此我建议使用地图,因为这里的一些解决方案可能会向您展示)。
我想从对象属性列表中附加一个 val adminEmailSeq = Seq.empty[String]
。
我的 List[User]
调用了 'admins',我正在尝试这样做,但它不起作用:
admins.foreach(
admin => {
adminEmailSeq :+ admin.email
}
)
虽然 admin.email
包含正确的信息,但 adminEmailSeq.isEmpty
总是正确的。
根据描述,我假设您需要 Admins
Emails
val adminEmailSeq = admins.map(_.email)
追加':+'实际上并没有将它追加到前导Seq。它正在复制。 关于您的解决方案,您需要这样做。
admins.foreach(
admin => {
adminEmailSeq = adminEmailSeq :+ admin.email
}
)
但我认为正确的解决方案是使用地图。
只是忘了:我喜欢不可变和值而不是变量。它可能有助于更容易地理解代码。因此我不会使用该变量重新分配(因此我建议使用地图,因为这里的一些解决方案可能会向您展示)。