私はたくさんのオブジェクトを浮かべています。処理中です。しかし、私の(テスト)システムのルールは、結果を検証するためには、注文を注文ID順に並べる必要があるということです。結果に効率よくフラグを付ける
これは、そのIDよりも注文IDが<であるすべての注文が既に完了していない限り、完了(完了処理)の準備が完了している注文に完了マークを付けることができないことを意味します。
- 注文は
注文IDは一意であり、最初のオーダー作成
クラス注文{ INT番号順に割り当てられたランダムな順序で完成した処理をフラグを立てることができます。 ブール値finishedProcessing = false; boolean completed = false; }
誰かがこの問題の効率的な解決法を提案できますか?私はHashMap(order id、completed)を作成し、各注文が完了するとマップ内で完了した注文をフラグ付けし、注文が完了してマップ全体をループしてすべての先行注文にフラグが立てられているかどうかを判断することしか考えられません完了しました。
バグが意味する最後の部分であり、非常に非効率的です。より良い方法がありますか?
オブザーバーまたはイベントバスモデルを使用して、より低いオーダー番号のオーダーが上位のオーダー番号オブジェクトにそれが前進できることを伝えることができないのはなぜですか? –
なぜ最後に処理されたIDを追跡するだけではないのですか? – pvg