我应该在Java中使用哪种数据结构?

时间:2017-10-21 12:33:38

标签: java data-structures hashmap

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

  1. 我的课程Car包含字符串RegNoproducermodel和布尔isCarRented
  2. 我保留的汽车清单:

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

  3. 一切正常。

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

    • 所有汽车租赁的历史

    • 每辆车的租赁历史记录

    我的想法是:

    1. 使用以下内容创建课程CarHistory

      私人静态List<String> rentalDates = new ArrayList<String>();

    2. 保留每次租车时我都要添加的日期。

    3. 创建数据结构以记住每个汽车租赁历史记录:

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

    4. 这是一个好方法吗?在此解决方案中,我确实遇到了单CarHistory的构造函数问题。不确定它应该返回什么。我应该在首次出租后创建吗?并且应为每辆车创建空List rentalDates以创建HashMap

1 个答案:

答案 0 :(得分:2)

您要做的是实现一对一的关系,因为Car只有一个CarHistory而一个CarHistory仅涉及一个Car 。这就是为什么这样做的正确方法是将字段CarHistory carHistory添加到Car的类中。

一开始,CarHistory列表将为空。每次预订,您只需在列表中添加一条记录即可。汽车历史可以轻松访问,模型将以最准确的方式匹配现实。