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