如何在Kotlin中基于一个属性加入两个列表

时间:2019-04-22 06:53:13

标签: android kotlin

我有两个列表主文件和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
    }

这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

您的代码相当不错,但是如果您在vehicleData的{​​{1}}中找不到元素,则代码可能会失败 但是,您可以使用mas而不是Map来提高其CPU搜索对象所花费的时间。 https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html

  

一个集合,它包含成对的对象(键和值),并支持有效地检索与每个键相对应的值

我认为您的问题更多是使用良好的集合类型而不是编写良好的算法代码的问题,从我读到的内容来看,这是可以接受的