我正在开发车辆停车系统的java应用程序。应用程序应该跟踪汽车何时进入停车场,何时离开停车场,停车状态,是否已满。应用程序还应该检查停放在停车场的汽车的剩余容量。那么,我想问一下,对于这个特定的问题,我应该使用什么数据结构?
注意:队列不能使用,因为它们是基于先进先出的。所以,先进停车场的车不能先走。所以,请给我推荐一种适合特定情况的数据结构。
发布于 2016-05-22 02:37:55
用于存储汽车的适当容器将是Set,因为:
其他容器具有这里不需要的特殊属性:
从性能的角度来看,HashSet实现在这里是一个很好的选择,因为对于你可能需要的add,remove,contains和size操作,它具有恒定的时间复杂度。
发布于 2016-05-21 14:46:53
你的用例没有现成的数据结构。你必须实现你自己的。把这段代码当作一个开始的想法:
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;
}https://stackoverflow.com/questions/37358717
复制相似问题