在Scala中,除了使用::附加到列表的开头还是结尾,还有其他选择吗?

时间:2018-11-26 19:53:04

标签: scala

如果a有一个val x = List(2,3,5,8),而我想将元素4附加到列表中,则x::aa::x会按预期工作。但是,这种表示法有替代方法吗?

1 个答案:

答案 0 :(得分:3)

如果我正确理解了您的问题,我们将:

val x = List(2,3,5,8)
val a = 4

,并且您希望将a附加(不可变)到x

a::x可以使用,但是将返回带有4 前缀的列表,因此不是您所要求的。 x::a根本无法使用,因为,您不能真正将列表放在前缀整数之前。

例如,您可以使用:+方法:

x :+ a  // Returns List(2, 3, 5, 8, 4)

但是请注意,追加到List上需要线性时间,因此根据您的特定应用程序可能不是一个好主意。如果此操作的性能很重要,请考虑使用其他数据结构。更多信息here