我正在用Java开发汽车租赁应用程序。


我有带有字符串CarRegNoproducer和布尔值model的类isCarRented
我要入住的汽车清单:

Collection<Car> carList = new HashSet<Car>();


一切正常。

现在,我需要做的是整个租赁公司的历史/统计模块:


所有租车的历史
每辆车的租赁历史记录


我的想法是:


使用以下命令创建类CarHistory

私人静态List<String> rentalDates = new ArrayList<String>();
保持日期,每次租车我都要补充。
创建数据结构来记住每个租车历史记录,如下所示:

static Map<Car, CarHistory> rentalList = new HashMap<Car, CarHistory>();


这是个好方法吗?我在此解决方案中确实遇到了单个CarHistory的构造函数的麻烦。不太确定它应该返回什么。我应该在首次租用后创建它吗?并且应该为每个要创建List的汽车创建空的rentalDates HashMap吗?

最佳答案

您正在尝试实现一对一的关系,因为Car只有一个CarHistory,而一个CarHistory只涉及一个Car。因此,正确的方法是将字段CarHistory carHistory添加到Car类。

首先,CarHistory的列表为空。每次预订时,您只需将一个记录添加到列表中。可以轻松访问汽车历史记录,并且模型将以最准确的方式匹配实际情况。

10-06 14:33