我有一堆漂浮物,讓我們稱之爲訂單。正在處理。然而,我的(測試)系統的規則是,爲了驗證結果,我需要順序輸出(按訂單ID)順序。高效標記結果
這意味着已被標記爲準備完成(完成處理)的訂單不能被標記爲已完成,除非所有訂單ID爲<的訂單已完成。
- 訂單可以以任何隨機順序
訂單ID是唯一的,在初始訂單創建
類訂單{ INT ID的順序分配被標記成品加工; boolean finishedProcessing = false; boolean completed = false; }
有人能提出一個有效的解決這個問題?我只能考慮創建一個HashMap(訂單ID,已完成),並在每個訂單完成時標記在地圖中完成的訂單,並確定是否允許訂單完成,然後循環整個地圖以查看是否所有先前訂單都已標記完成。
這是錯誤意味着最後一部分,似乎非常低效。有沒有更好的辦法?
爲什麼不能使用觀察者或事件總線模型,讓低階數字訂單告知高階數字對象它可以向前移動? –
爲什麼不跟蹤最後處理的ID? – pvg