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

Posted hanhaotian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,这样也算是一种解决方案吧。

 



以上是关于Scala中的列表可以添加元素吗?的主要内容,如果未能解决你的问题,请参考以下文章

从另一个片段中的目录更新片段中的列表视图元素

重新添加相同的片段后片段中的元素不起作用

Python代码阅读(第13篇):检测列表中的元素是否都一样

Scala groupBy 项目列表中的所有元素

哈斯克尔。我很困惑这个代码片段是如何工作的

linux打开终端如何启动scala,如何在终端下运行Scala代码片段?