我正在用Java开发汽车租赁应用程序。
我有带有字符串Car
,RegNo
,producer
和布尔值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
的列表为空。每次预订时,您只需将一个记录添加到列表中。可以轻松访问汽车历史记录,并且模型将以最准确的方式匹配实际情况。