2011-11-07 32 views
1

我想在Scala中創建一個數據庫管理工具,並且我希望能夠從這個數據庫中抽取數組,數組的大小可以根據傳遞給它們的數據進行移位。我知道如何在C,PHP,VB等中做到這一點,但似乎無法弄清楚Scala的語法。我該如何調整Scala中的數組大小

我敢肯定這應該是一個簡單的問題,所以任何幫助,將不勝感激

+0

哈!非常感謝Brian Angew指出我在[鏈接]中解釋得很好的ArrayBuffers(http://stackoverflow.com/questions/3527131/scala-dynamic-multi-dimensional-mutable-arrays-like-datastructures)。得到我現在需要的 – Museless

+0

不要感謝他,接受他的回答。 –

回答

5

默認情況下,Scala中的集合通常是不可變的。操作將從現有集合中創建新的不可變集合(通過添加/刪除元素等)。這樣做的好處是,集合不會在迭代過程中發生變化,編寫多線程應用程序趨於變得更容易(有很多關於您如何編寫標準Java應用程序的警告/假設!)。說了這麼多,如果你需要一個可變數組,你看過一個ArrayBuffer(一個帶有底層數組實現的可變集合)嗎?

例如

val a = new scala.collection.mutable.ArrayBuffer[String]() 
a += "A" 
a += "B" 
a(1) // gives you 'B' 
+0

那麼,有沒有一種方法來添加和刪除正常的數組中的對象,從而創建一個新的數組?此外,ResizeableArray聽起來像我想要的,但我不知道如何實例化一個因爲「val info:ResizeableArray [String] = new ResizeableArray [String](3)」不起作用 – Museless

+0

對不起,但我是一個裸在斯卡拉初學者,並且無法找到我正在嘗試做的功能代碼示例 – Museless

+0

對不起。用ResizableArray誤導你。這是ArrayBuffer之上的特質。查看上面的修改數組的示例 –

相關問題