【发布时间】:2011-05-24 00:16:17
【问题描述】:
我有一个 ListBuffer。我想删除所有满足特定条件的元素。
我可以遍历它并删除每个元素。但是 Scala 对改变你正在迭代的列表有什么看法?它会起作用,还是会删除错误的元素/不返回所有元素? (对 REPL 的快速尝试表明是的,它会搞砸的)
我可以反复调用 find,然后删除找到的元素,直到找不到更多,但这听起来效率很低。
.filter 将返回一个没有元素的新 ListBuffer,但我想就地执行。
这个
def --= (xs: TraversableOnce[A]) : ListBuffer.this.type
Removes all elements produced by an iterator from this list buffer.
看起来很有希望,但我不太明白如何在这里使用它
我应该怎么做?
【问题讨论】:
标签: scala scala-2.8 listbuffer