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,這樣也算是一種解決方案吧。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM