我有两个列表主文件和vehicleFareData。
VehicleFareData具有两个字段 id 和 vehicleFare 。主人拥有多个字段,包括 id ,车辆票价。
现在,我要用masterFareData列表中的 vehicleFare 替换master中的字段 vehicleFare ,其中master id 等于 id
在Kotlin中实现此目标的最佳方法是什么
fun getMasWithVehicleFare(fareCalculation: FareCalculation, mas: ArrayList<Driver_Available>): ArrayList<Driver_Available> {
for (vehicleData in fareCalculation.vehiclesPricingData) {
mas.find { it.mid == vehicleData.driverID }!!.fare = vehicleData.fare
}
return mas
}
这是正确的方法吗?
答案 0 :(得分:0)
您的代码相当不错,但是如果您在vehicleData
的{{1}}中找不到元素,则代码可能会失败
但是,您可以使用mas
而不是Map
来提高其CPU搜索对象所花费的时间。
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html
一个集合,它包含成对的对象(键和值),并支持有效地检索与每个键相对应的值
我认为您的问题更多是使用良好的集合类型而不是编写良好的算法代码的问题,从我读到的内容来看,这是可以接受的