我有一個ListBuffer。我想刪除所有符合特定條件的元素。scala刪除(就位)符合條件的ListBuffer的所有元素
我可以遍歷它並刪除每個元素。但是斯卡拉怎麼說變更你正在迭代的列表呢?它會工作,還是會刪除錯誤的元素/不返回所有元素? (與REPL的快速嘗試表明是的,它會搞亂)
我可以重複調用find並刪除找到的元素,直到找不到更多,但這聽起來效率不高。
.filter將返回一個沒有元素的新的ListBuffer,但我想要做到這一點。
這
def --= (xs: TraversableOnce[A]) : ListBuffer.this.type
Removes all elements produced by an iterator from this list buffer.
看起來很有希望,但我不能完全看到
我應該如何做到這一點如何在這裏使用它?
另請參閱http://stackoverflow.com/questions/2803085/iterators-for-mutable-collections-in-scala – 2010-12-11 19:05:13