Android 从ArrayList中删除一个值<;定制>;不运行循环

Android 从ArrayList中删除一个值<;定制>;不运行循环,android,arraylist,Android,Arraylist,我有一个CustomObject列表,我希望从列表中删除一个具有相同id(CustomObject属性)的值。 现在,这可以通过使用循环来完成。但对我来说,这似乎是一个非常不必要和低效的代码。是否有其他方法获取id为的特定对象 如果项目的min sdk版本为24及以上,则可以使用removeIf yourList.removeIf(model -> model.id == yourid); 如果检查removeIf中的代码,实际上它也会迭代 在整个列表中删除匹配的对象 除此之外,如果您正

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

如果项目的min 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)
val yourList=arrayListOf()
val removeList=yourList.filter{model->
model.id==yourid
}
yourList.removeAll(removeList)

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

yourList.apply { removeAt( first { it.id == id } ) }

我认为您可以覆盖CustomObject的哈希代码(这是我的首选),然后可以使用List的remove(CustomObject)方法;这回答了你的问题吗@马诺杰佩鲁马拉斯no@Parth,你试过这个吗?