Appending an element to the end of a list in Scala
I can't add an element of type T
into a list List[T]
.
I tried with myList ::= myElement
but it seems it creates a strange object and accessing to myList.last
always returns the first element that was put inside the list. How can I solve this problem?
List(1,2,3) :+ 4
Results in List[Int] = List(1, 2, 3, 4)
Note that this operation has a complexity of O(n). If you need this operation frequently, or for long lists, consider using another data type (e.g. a ListBuffer).
That's because you shouldn't do it (at least with an immutable list). If you really really need to append an element to the end of a data structure and this data structure really really needs to be a list and this list really really has to be immutable then do eiher this:
(4 :: List(1,2,3).reverse).reverse
or that:
List(1,2,3) ::: List(4)