0

私は自分のプログラムのコアを設計しており、現在ループして呼び出しているさまざまなエンティティがありますupdate()。オブジェクトを含む約 10 個vectorの がありますが、これは将来さらに多くなる可能性があります。かなり定期的にこれらを調べる必要があることに気付いたidので、すべての要素をループして正しい ID を探す必要があります。

オブジェクト自体へのポインタとともに をhashmap含むを作成することを考えています。idこれはこれを行う最も効率的な方法ですか?ID は半ランダムですが、プログラム全体で増加するだけで、各リストの各要素には一意の ID があります (割り当てられるたびに ID カウンターが上がります)。ベクトルの要素は、頻繁に削除および追加されるようになりました。私は Java のほんの一部を除いて、ハッシュマップをあまり扱っていないので、これが効率的なルートになるかどうかはわかりません。コードはまだ読めると思いますが、これにより適した hash_map 以外のオプションはありますか? ありがとう

4

1 に答える 1

1

10 vectors がある理由がわかりません。オブジェクトを 1 つの sorted に格納できる場合はvector、 を使用binary_searchしてオブジェクトを見つけることができます (挿入するたびにソートすることを忘れないでください)。

もちろん、hash_mapスペース/メモリを犠牲にしても機能します。

于 2012-09-25T23:19:22.533 に答える