【发布时间】:2011-09-28 01:05:33
【问题描述】:
我有一种情况,我将单个元素列表传递给一个方法。在此方法中,列表中的单个元素递增 1。这样在方法调用之后,列表的第一个元素被修改(加一)。
代码是这样的:
val ct = List(5)
someMethod(ct)
println (ct(0))
// should print 6
......
//within somethod, I incrment the element like:
def someMethod(ct: List[Int}) {
ct(0) = ct(0) + 1
}
当然,上面的代码在 Scala 中不起作用。我查看了ListBuffer,但我发现 scala 文档很难理解。 Scala 文档分为 2 组:类型成员和值成员。在类型成员中有类 WithFiler 和值成员有很多方法。我如何使用 WithFiler (可能与这个问题没有直接关系,但我想了解如何使用 scala doc)。
如果我想获得非常高的性能(someMethod 被调用数百万次),ListBuffer 似乎是解决这个问题的正确方法(如果我错了,请纠正我)。
如果 ListBuffer 是正确的列表类型,那么如何解决上述问题,如果不是,解决方案是什么?
【问题讨论】:
-
这是两个不同的问题,真的——一个与使用
ListBuffer有关,另一个与理解 Scaladoc 的类型成员和值成员有关。后一个问题请单独提出。
标签: scala