Tengo un ListBuffer. Quiero eliminar todos los elementos que cumplen una determinada condición.scala Eliminar (en su lugar) todos los elementos de un ListBuffer que cumplan con una condición
Pude iterar sobre él y eliminar cada elemento. ¿Pero qué dice Scala acerca de mutar una lista sobre la que estás iterando? ¿Funcionará, o eliminará los elementos incorrectos/no devolverá todos los elementos? (Un intento rápido con el REPL sugiere que sí, se equivocará)
Pude llamar repetidas veces a find y luego eliminar el elemento encontrado hasta que no encontré nada más, pero eso suena ineficaz.
.filter me devolverá un nuevo ListBuffer sin los elementos, pero quiero hacerlo en su lugar.
Este
def --= (xs: TraversableOnce[A]) : ListBuffer.this.type
Removes all elements produced by an iterator from this list buffer.
parece prometedor, pero no puedo ver bien cómo usarlo aquí
¿Cómo debo hacer esto?
Véase también http://stackoverflow.com/questions/2803085/iterators-for-mutable-collections-in-scala –