Java中根据ChargeScheme ID匹配并更新List<Room>内容
在Java开发中,我们经常需要处理数据之间的匹配和更新。例如,我们有一个List<ChargeScheme>集合,其中每个ChargeScheme对象都有一个id属性和一个List<Room>集合rooms。另一个集合List<RoomRevenueConfigChargeScheme>包含RoomRevenueConfigChargeScheme对象,每个对象都包含ChargeScheme和roomRevenueConfig属性,而roomRevenueConfig属性又包含room属性。
我们的目标是找到chargeSchemes和roomRevenueConfigChargeSchemes中ChargeScheme的id相同的RoomRevenueConfigChargeScheme,并将它的roomRevenueConfig的room赋值给chargeSchemes集合的rooms内容。
可以使用双重循环来实现:
for (ChargeScheme chargeScheme : chargeSchemes) {
for (RoomRevenueConfigChargeScheme roomRevenueConfigChargeScheme : roomRevenueConfigChargeSchemes) {
if (chargeScheme.getId() == roomRevenueConfigChargeScheme.getChargeScheme().getId()) {
chargeScheme.setRooms(roomRevenueConfigChargeScheme.getRoomRevenueConfig().getRoom());
break; // 找到后立即退出内层循环,提高效率
}
}
}
这段代码使用两个嵌套的循环遍历两个集合。外层循环遍历chargeSchemes,内层循环遍历roomRevenueConfigChargeSchemes。在内层循环中,我们比较chargeScheme和roomRevenueConfigChargeScheme的ChargeScheme的id是否相同。如果相同,则将roomRevenueConfigChargeScheme的roomRevenueConfig的room赋值给chargeScheme的rooms集合。为了提高效率,我们在找到匹配的RoomRevenueConfigChargeScheme后立即退出内层循环。
这种方式可以有效地实现根据ChargeScheme的id匹配并更新Room集合。
原文地址: https://www.cveoy.top/t/topic/ozVb 著作权归作者所有。请勿转载和采集!