kotlin ArrayList find 找到一个对象 修改里面的属性
时间: 2024-11-30 13:16:23 浏览: 15
在Kotlin中,`ArrayList` 是一个动态数组,它提供了一个名为 `find` 的函数用于查找某个特定元素是否存在。如果你想要找到并修改其中的某个对象的属性,你可以按照以下步骤操作:
1. 首先,你需要有一个实现了`equals()` 和 `hashCode()` 函数的对象,因为`find`方法会通过这两个函数来比较元素。
```kotlin
val list = ArrayList<MyObject>() // 假设MyObject是你需要操作的对象类型
list.add(MyObject(...)) // 初始化列表
fun MyObject.updateProperty(newValue: T) {
this.myProperty = newValue
}
// 使用find方法找到对象并修改属性
val index = list.find { it === objectToFind }?.index
if (index != null) {
val foundObject = list[index]
foundObject.updateProperty(newValue)
// 如果你想更新原地,也可以直接对list[index]进行赋值,如 list[index] = foundObject
}
```
在这个例子中,`objectToFind` 是你要查找的目标对象,如果找到了,就获取其索引,并调用 `updateProperty` 函数来修改属性。如果没有找到,则 `find` 返回null,不会执行后续的修改。
阅读全文