首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >适合车辆停放系统的数据结构

适合车辆停放系统的数据结构
EN

Stack Overflow用户
提问于 2016-05-21 11:55:40
回答 2查看 4.5K关注 0票数 0

我正在开发车辆停车系统的java应用程序。应用程序应该跟踪汽车何时进入停车场,何时离开停车场,停车状态,是否已满。应用程序还应该检查停放在停车场的汽车的剩余容量。那么,我想问一下,对于这个特定的问题,我应该使用什么数据结构?

注意:队列不能使用,因为它们是基于先进先出的。所以,先进停车场的车不能先走。所以,请给我推荐一种适合特定情况的数据结构。

EN

回答 2

Stack Overflow用户

发布于 2016-05-22 02:37:55

用于存储汽车的适当容器将是Set,因为:

  • 没有特定的元素顺序(汽车)。
  • 每辆车只能在停车场停一次。

其他容器具有这里不需要的特殊属性:

  • List:元素的排序(可能)在这里没有用处。
  • Queue:下一个要删除的元素不一定是第一个被删除的元素,下一个要删除的元素通常不是最后一个添加的元素。

从性能的角度来看,HashSet实现在这里是一个很好的选择,因为对于你可能需要的addremovecontainssize操作,它具有恒定的时间复杂度。

票数 1
EN

Stack Overflow用户

发布于 2016-05-21 14:46:53

你的用例没有现成的数据结构。你必须实现你自己的。把这段代码当作一个开始的想法:

代码语言:javascript
复制
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;      
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37358717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档