从ArrayList <Custom>中删除一个值而不运行循环

我有一个CustomObject列表,我希望从列表中删除一个具有相同ID(CustomObject的属性)的值。 现在可以通过使用循环来完成。但这对我来说似乎是非常不必要且效率低下的代码。还有其他方法可以获取具有ID的特定对象吗?

yangliuliu2009 回答:从ArrayList <Custom>中删除一个值而不运行循环

如果您项目的 SDK最低版本为24以上,则可以使用removeIf

yourList.removeIf(model -> model.id == yourid);
  

如果您检查removeIf内的代码,实际上它也会迭代   在整个列表中删除匹配的对象。

此外,如果您正在使用 Kotlin 或想要使用,则可以使用id过滤列表,然后将其从列表中删除。

val yourList = arrayListOf<Model>()

val removeList = yourList.filter { model ->
    model.id == yourid
}

yourList.removeAll(removeList)
,

如果您不想使用removeIf方法,则可以执行以下操作:

yourList.apply { removeAt( first { it.id == id } ) }
本文链接:https://www.f2er.com/3168054.html

大家都在问