根據this posting,據說ListBuffer允許第一個和最後一個元素的恆定時間移除。我一直在尋找API參考和ListBuffer源代碼,但我無法找到如何在恆定時間內移除最後一個元素,而remove(0)
將爲第一個元素完成這項工作。什麼是刪除最後一個元素的正確方法?從ListBuffer中移除元素
另一個問題:是否有可能在迭代ListBuffer時有效地移除元素?在Java中,它可以用Iterator.remove()
完成,但Scala迭代器似乎沒有remove()
方法...
感謝您的回答,雷克斯刪除最後一個元素。所以基本上它總是需要O(n)時間從ListBuffer中移除一個任意元素,不是嗎?這很令人失望,即使使用指向特定元素的迭代器,也不可能馬上刪除它:( –