首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Scala中将元素追加到列表的末尾

在Scala中将元素追加到列表的末尾
EN

Stack Overflow用户
提问于 2011-10-17 20:56:34
回答 3查看 250.5K关注 0票数 244

我不能将T类型的元素添加到列表List[T]中。我尝试使用myList ::= myElement,但它似乎创建了一个奇怪的对象,访问myList.last总是返回放在列表中的第一个元素。我该如何解决这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-17 21:18:24

List(1,2,3) :+ 4

Results in List[Int] = List(1, 2, 3, 4)

请注意,此操作的复杂度为O(n)。如果您经常需要此操作,或者对于长列表,请考虑使用其他数据类型(例如ListBuffer)。

票数 420
EN

Stack Overflow用户

发布于 2011-10-17 21:15:17

这是因为您不应该这样做(至少使用一个不可变的列表)。如果你真的需要在数据结构的末尾追加一个元素,这个数据结构真的需要是一个列表,这个列表真的必须是不可变的,那么你可以这样做:

(4 :: List(1,2,3).reverse).reverse

或者说:

List(1,2,3) ::: List(4)
票数 68
EN

Stack Overflow用户

发布于 2017-11-13 19:50:11

这与其中一个答案类似,但方式不同:

scala> val x = List(1,2,3)
x: List[Int] = List(1, 2, 3)

scala> val y = x ::: 4 :: Nil
y: List[Int] = List(1, 2, 3, 4)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7794063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档