我不能将T
类型的元素添加到列表List[T]
中。我尝试使用myList ::= myElement
,但它似乎创建了一个奇怪的对象,访问myList.last
总是返回放在列表中的第一个元素。我该如何解决这个问题?
发布于 2011-10-17 21:18:24
List(1,2,3) :+ 4
Results in List[Int] = List(1, 2, 3, 4)
请注意,此操作的复杂度为O(n)。如果您经常需要此操作,或者对于长列表,请考虑使用其他数据类型(例如ListBuffer)。
发布于 2011-10-17 21:15:17
这是因为您不应该这样做(至少使用一个不可变的列表)。如果你真的需要在数据结构的末尾追加一个元素,这个数据结构真的需要是一个列表,这个列表真的必须是不可变的,那么你可以这样做:
(4 :: List(1,2,3).reverse).reverse
或者说:
List(1,2,3) ::: List(4)
发布于 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)
https://stackoverflow.com/questions/7794063
复制相似问题