在Java开发中,我们经常需要处理数据之间的匹配和更新。例如,我们有一个List<ChargeScheme>集合,其中每个ChargeScheme对象都有一个id属性和一个List<Room>集合rooms。另一个集合List<RoomRevenueConfigChargeScheme>包含RoomRevenueConfigChargeScheme对象,每个对象都包含ChargeSchemeroomRevenueConfig属性,而roomRevenueConfig属性又包含room属性。

我们的目标是找到chargeSchemesroomRevenueConfigChargeSchemesChargeSchemeid相同的RoomRevenueConfigChargeScheme,并将它的roomRevenueConfigroom赋值给chargeSchemes集合的rooms内容。

可以使用双重循环来实现:

for (ChargeScheme chargeScheme : chargeSchemes) {
    for (RoomRevenueConfigChargeScheme roomRevenueConfigChargeScheme : roomRevenueConfigChargeSchemes) {
        if (chargeScheme.getId() == roomRevenueConfigChargeScheme.getChargeScheme().getId()) {
            chargeScheme.setRooms(roomRevenueConfigChargeScheme.getRoomRevenueConfig().getRoom());
            break; // 找到后立即退出内层循环,提高效率
        }
    }
}

这段代码使用两个嵌套的循环遍历两个集合。外层循环遍历chargeSchemes,内层循环遍历roomRevenueConfigChargeSchemes。在内层循环中,我们比较chargeSchemeroomRevenueConfigChargeSchemeChargeSchemeid是否相同。如果相同,则将roomRevenueConfigChargeSchemeroomRevenueConfigroom赋值给chargeSchemerooms集合。为了提高效率,我们在找到匹配的RoomRevenueConfigChargeScheme后立即退出内层循环。

这种方式可以有效地实现根据ChargeSchemeid匹配并更新Room集合。

Java中根据ChargeScheme ID匹配并更新List<Room>内容

原文地址: https://www.cveoy.top/t/topic/ozVb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录