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  }

使用firstOrNullfind获取结果或null以防无车可用使用给定的 ID。

fun getCarById(carId: Int) {
   val myCar: Car? = carsList.firstOrNull { it.id == carId }
    // or

   val myCar: Car? = carsList.find { it.id == carId }
}

现在您可以轻松检查您得到的是实际值还是空值,并相应地进一步移动。