Android Kotlin:在 mutableList 中搜索具有特定键值的元素
Android Kotlin : Search for element with specific key value in mutableList
我有一个可变的 Cars 列表(Cars 是一个数据 class)。
我正在寻找一种方法来在我的可变列表中找到具有特定 ID 的汽车。
我如何在 Kotlin 中实现这一点?
Car.kt
data class Car(
val createdAt: String = "",
val updatedAt: String = "",
val id: String = "",
val number: String = ""
)
在我的CarsFragment.kt:
var cars: MutableList<Car>
// extract Car with id = "89Ddzedzedze8998" ?
所以你想要这样的东西
val idToCheck = "89Ddzedzedze8998"
cars.first {car->
car.id == idToCheck
}
更新
如 a_local_nobody it is worth mentioning that first will throw an NoSuchElementException
but firstOrNull 所述,将 return null
你可以在 kotlin 中使用 find
val idToCheck = "89Ddzedzedze8998"
cars.find { it.id == idToCheck }
使用firstOrNull或find获取结果或null以防无车可用使用给定的 ID。
fun getCarById(carId: Int) {
val myCar: Car? = carsList.firstOrNull { it.id == carId }
// or
val myCar: Car? = carsList.find { it.id == carId }
}
现在您可以轻松检查您得到的是实际值还是空值,并相应地进一步移动。
我有一个可变的 Cars 列表(Cars 是一个数据 class)。 我正在寻找一种方法来在我的可变列表中找到具有特定 ID 的汽车。 我如何在 Kotlin 中实现这一点?
Car.kt
data class Car(
val createdAt: String = "",
val updatedAt: String = "",
val id: String = "",
val number: String = ""
)
在我的CarsFragment.kt:
var cars: MutableList<Car>
// extract Car with id = "89Ddzedzedze8998" ?
所以你想要这样的东西
val idToCheck = "89Ddzedzedze8998"
cars.first {car->
car.id == idToCheck
}
更新
如 a_local_nobody it is worth mentioning that first will throw an NoSuchElementException
but firstOrNull 所述,将 return null
你可以在 kotlin 中使用 find
val idToCheck = "89Ddzedzedze8998"
cars.find { it.id == idToCheck }
使用firstOrNull或find获取结果或null以防无车可用使用给定的 ID。
fun getCarById(carId: Int) {
val myCar: Car? = carsList.firstOrNull { it.id == carId }
// or
val myCar: Car? = carsList.find { it.id == carId }
}
现在您可以轻松检查您得到的是实际值还是空值,并相应地进一步移动。