问题描述
我有一个Kotlin ArrayList,其中包含一个名为TaskModel的数据类(例如val taskModelList = ArrayList<TaskModel>()
)
但是当我像val taskModelList2 = taskModelList.removeAt(1)
一样调用remove时,它返回的类型为TaskModel
而不是ArrayList<TaskModel>
。如何获得它以返回TaskModels的ArrayList?
解决方法
这是预期的行为。删除的项目将返回(ArrayList),您可以将原始列表与其余项目一起使用。无需重新分配列表。
,
如果您想找回列表,可以使用filterIndexed
:
taskModelList.filterIndexed { index,_ -> index != 1 }
,
您可以使用apply()
:
fun main() {
arrayListOf("a","remove","me","b","c")
.apply { removeAt(1) }
.apply { removeAt(1) }
.also(::println)
}
输出:
[a,b,c]