Android Kotlin: поиск элемента с определенным значением ключа в mutableList - PullRequest
0 голосов
/ 18 октября 2019

У меня есть mutableList of Cars (Cars - это класс данных). Я ищу способ найти Автомобиль с определенным идентификатором в моем изменяемом списке. Как мне достичь этого в Котлине?

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" ?

Ответы [ 3 ]

2 голосов
/ 18 октября 2019

Вы можете сделать, используя find в kotlin

val idToCheck = "89Ddzedzedze8998"
 cars.find { it.id == idToCheck  }
2 голосов
/ 18 октября 2019

Итак, вы хотите что-то подобное

val idToCheck = "89Ddzedzedze8998"
cars.first {car->
  car.id == idToCheck
}

обновление

как упомянуто a_local_nobody стоит упомянуть, что сначала выдаст NoSuchElementException, но firstOrNull вернет null

1 голос
/ 18 октября 2019

Используйте firstOrNull или find для получения результата или null в случае, если автомобиль не доступен с данным идентификатором.

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

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

Теперь вы можете легко проверить, получаете ли вы реальное значение или ноль, и соответственно двигаться дальше.

...