我正在用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
?
答案 0 :(得分:2)
您要做的是实现一对一的关系,因为Car
只有一个CarHistory
而一个CarHistory
仅涉及一个Car
。这就是为什么这样做的正确方法是将字段CarHistory carHistory
添加到Car
的类中。
一开始,CarHistory
列表将为空。每次预订,您只需在列表中添加一条记录即可。汽车历史可以轻松访问,模型将以最准确的方式匹配现实。