我正在开发车辆 parking 系统java应用程序。应用程序应该跟踪汽车何时进入 parking 场、何时离开 parking 场、 parking 场的状态,是否已满。该应用程序还应检查 parking 场内要停放的汽车的剩余容量。 所以,我想问我应该使用什么数据结构来解决特定问题?
注意:不能使用队列,因为它们基于先进先出。所以,汽车先进入 parking 场我不会先离开。因此,请为我建议适合特定情况的数据结构。
最佳答案
用于存储汽车的适当容器将是一个Set
,因为:
- 元素(汽车)没有特定的顺序。
- 每辆车只能在 parking 场停放一次。
其他容器具有此处不需要的特殊属性:
- 列表:元素排序(可能)在这里没用。
- 队列:下一个要删除的元素不一定是第一个已添加的元素。
- 堆栈:下一个要删除的元素通常不是最后一个添加的元素。
Java 提供了 Set
的不同实现。从性能角度来看,HashSet
实现在这里将是一个不错的选择,因为它对于 add
、remove
操作具有恒定的时间复杂度, 包含
和size
,您可能需要它们。
关于java - 适合车辆 parking 系统的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37358717/