scala 如何连接 class 的两个列表
scala how to concatenate two list of class
我有这个class
case class User(var userId: Int, var userName: String, var email:
String, var password: String) {
def this() = this(0, "", "", "")
}
我有两个列表相同的用户类型列表
团队成员
usrList
我想将两者连接成一个团队成员。我不知道该怎么做,所以尝试了:
teamMembers:::usrList
teamMembers = teamMembers:::usrList
teamMembers++usrList
teamMembers = teamMembers++usrList
似乎没有任何效果。我想这一定很容易。只是难以理解 scala 文档。如何将它们连接成一个。
不清楚你的问题到底是什么,用法很简单:
val a = List(1,2,3)
val b = List(4,5,6)
val c = a ::: b // List(1, 2, 3, 4, 5, 6)
val d = a ++ b // List(1, 2, 3, 4, 5, 6)
也许您缺少的是串联产生一个 new 列表,它是前两个列表的串联?或者你不能重新分配 vals 所以你需要分配一个新的变量名?
考虑用于将列表附加到(可变)列表的运算符 ++=
;例如
case class User(var userId: Int = 0,
var userName: String = "",
var email: String = "",
var password: String = "")
和
var teamMembers = List ( User(0), User(1) )
val usrList = List( User(3) )
我们有
teamMembers ++= usrList
等等
teamMembers
List[User] = List(User(0,,,), User(1,,,), User(3,,,))
另一种方法涉及
teamMembers = List(teamMembers, usrList).flatten
即,我们创建一个列表列表并将它们展平到一个列表中。
我有这个class
case class User(var userId: Int, var userName: String, var email:
String, var password: String) {
def this() = this(0, "", "", "")
}
我有两个列表相同的用户类型列表 团队成员 usrList
我想将两者连接成一个团队成员。我不知道该怎么做,所以尝试了:
teamMembers:::usrList
teamMembers = teamMembers:::usrList
teamMembers++usrList
teamMembers = teamMembers++usrList
似乎没有任何效果。我想这一定很容易。只是难以理解 scala 文档。如何将它们连接成一个。
不清楚你的问题到底是什么,用法很简单:
val a = List(1,2,3)
val b = List(4,5,6)
val c = a ::: b // List(1, 2, 3, 4, 5, 6)
val d = a ++ b // List(1, 2, 3, 4, 5, 6)
也许您缺少的是串联产生一个 new 列表,它是前两个列表的串联?或者你不能重新分配 vals 所以你需要分配一个新的变量名?
考虑用于将列表附加到(可变)列表的运算符 ++=
;例如
case class User(var userId: Int = 0,
var userName: String = "",
var email: String = "",
var password: String = "")
和
var teamMembers = List ( User(0), User(1) )
val usrList = List( User(3) )
我们有
teamMembers ++= usrList
等等
teamMembers
List[User] = List(User(0,,,), User(1,,,), User(3,,,))
另一种方法涉及
teamMembers = List(teamMembers, usrList).flatten
即,我们创建一个列表列表并将它们展平到一个列表中。