Scala中的列表可以添加元素吗?

列表或许是Scala程序中最常用到的数据结构了,其与数组非常相似,最重要的两点差别为:

1.列表是不可变的;

2.列表具有递归结构,而数组是连续的。

在实际使用中非常容易这样用:

val a = List("String")
a.add("String")

  IDEA不会报错,甚至也会给出你add方法的提示,如

但是在运行中就会报错!

对于初学者来说,首先想到的应该是去查查scala的List如何新增数据,很容易就可以得到答案  ::

def ::(x: A): List[A]

在列表开头添加元素

  在使用::以及:+之后应该都没得到想要的结果,因为是产生了一个新的List,并不是向现有List中添加元素。

在scala中如果需要实现给现有List增加元素的需求,那么就只能

val str : util.ArrayList[T] = new util.ArrayList()
str.add(T)

  对,就是调用Java的List,这样也算是一种解决方案吧。

原文地址:https://www.cnblogs.com/hanhaotian/p/9798769.html