M.A*_*aqi 6 scala mutable scala-collections
我有一个MutableList,我想从中删除一个元素,但我找不到合适的方法.有一种方法可以从ListBuffer这里删除元素:
val x = ListBuffer(1, 2, 3, 4, 5, 6, 7, 8, 9)
x -= 5
Run Code Online (Sandbox Code Playgroud)
我无法找到一个等效的方法MutableList.
MutableList缺乏-=,--=因为它没有延伸Shrinkable特征.可以在这里找到各种动机.
MutableList如果您处于重新分配变量(或实例化新变量)可能是一个选项,并且性能问题不是最重要的情况下,确实有diff,filter和其他方法可以帮助您:
var mylist = MutableList(1, 2, 3)
mylist = mylist diff Seq(1)
val myNewList = mylist.filter(_ != 2)
val indexFiltered = mylist.zipWithIndex.collect { case (el, ind) if ind != 1 => el }
Run Code Online (Sandbox Code Playgroud)
您可以经常使用ListBuffer而不是MutableList,这将解锁所需的-=和--=方法:
val mylist = ListBuffer(1, 2, 3)
mylist -= 1 //mylist is now ListBuffer(2, 3)
mylist --= Seq(2, 3) //mylist is now empty
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4269 次 |
| 最近记录: |