斯卡拉你有(三级,如@ SOM-snytt显示)选项 - 选择可变集合(如缓冲液):
scala> val xs = collection.mutable.Buffer(1)
// xs: scala.collection.mutable.Buffer[Int] = ArrayBuffer(1)
scala> xs += 2
// res10: xs.type = ArrayBuffer(1, 2)
scala> xs += 3
// res11: xs.type = ArrayBuffer(1, 2, 3)
正如你所看到的,它只是就像你在Java中使用列表一样。另一种选择你,而事实上它是强烈建议,是选择加工列表功能,仅此而已,你需要一些功能,并将其应用到每收集的每一个元素:
scala> val ys = List(1,2,3,4).map(x => x + 1)
// ys: List[Int] = List(2, 3, 4, 5)
scala> def isEven(x: Int) = x % 2 == 0
// isEven: (x: Int)Boolean
scala> val zs = List(1,2,3,4).map(x => x * 10).filter(isEven)
// zs: List[Int] = List(10, 20, 30, 40)
的也许不是downvoting,SO应该有一个选项标记, “没走Coursera。” –
'foreach'的返回类型是'Unit',所以你不会结束任何事情。你可能想要'地图'? –