特定のプライオリティ キューを作成しています。その構造は次のようにする必要があります。
Priority(<int>) Data(List<Object>)
1 a, b, g, h
3 c, d, j
4 k
10 e, f, i
特定の優先度のリストが存在するかどうかを効率的に見つける必要があります。そうでない場合は、リストを作成してメッセージを追加します。そうでない場合は、メッセージを既存のリストに追加します。
私は赤黒木を書きましたが、これはやり過ぎのようで、最速の解決策ではないかもしれません。また、優先順位によってメッセージを簡単に取得できないという欠点もあります。これは、書き込みが完了したら実行できるようにする必要があります。
Dictionary について考えてみたのですが、間違っていなければ「__というキーが存在する場合はそれに対応する値を与え、そうでなければ null を与える」という単純な方法はありません。または、何か不足していますか?
編集
私の現在の実装は、32 個の固定リストを持つことです。32ビットフラグに該当リストを追加し、該当ビットをセットする。De Bruijn のアルゴリズムを使用して LSB を取得します。これは効率的ですが、緩和したい他の複雑さを追加しています。