我有一堆漂浮物,让我们称之为订单。正在处理。然而,我的(测试)系统的规则是,为了验证结果,我需要顺序输出(按订单ID)顺序。高效标记结果
这意味着已被标记为准备完成(完成处理)的订单不能被标记为已完成,除非所有订单ID为<的订单已完成。
- 订单可以以任何随机顺序
订单ID是唯一的,在初始订单创建
类订单{ INT ID的顺序分配被标记成品加工; boolean finishedProcessing = false; boolean completed = false; }
有人能提出一个有效的解决这个问题?我只能考虑创建一个HashMap(订单ID,已完成),并在每个订单完成时标记在地图中完成的订单,并确定是否允许订单完成,然后循环整个地图以查看是否所有先前订单都已标记完成。
这是错误意味着最后一部分,似乎非常低效。有没有更好的办法?
为什么不能使用观察者或事件总线模型,让低阶数字订单告知高阶数字对象它可以向前移动? –
为什么不跟踪最后处理的ID? – pvg