我正在开发车辆停放系统java应用程序。应用程序应该记录汽车进入停车场时,汽车从停车场离开时,停车状态,是否已满。该应用程序还应检查停放在停车场的汽车的剩余容量。 那么,我想问一下我应该针对特定问题使用什么数据结构?
注意:队列无法使用,因为它们基于先进先出。所以,汽车首先进入停车场我不先离开。所以,请为特定情况建议适当的数据结构。
答案 0 :(得分:1)
用于存放汽车的适当容器为Set
,因为:
其他容器具有此处不需要的特殊属性:
Java提供了Set
的不同实现。从性能的角度来看,HashSet
实现在这里是一个不错的选择,因为它具有操作add
,remove
,contains
和{{1}的恒定时间复杂度你可能需要的。
答案 1 :(得分:0)
您的用例没有现成的数据结构。你必须实现自己的。将此代码视为一个开始的想法:
class ParkingSystem {
List<Car> parkingCars;
void onEnter(){
Car car = new Car();
car.entered = new Date();
parkingCars.add(car);
}
void onLeave(Car car){
parkingCars.remove(car)
}
int getCapacity(){
return this.parkingCars.size();
}
}
class Car {
Date entered;
}