私は多数のレコード、たとえば約4,000,000を持っていますが、それらに繰り返し対処し、そのレコードにリンクされているクラスに情報を入れたいと思っています。どのようなデータ構造を使用すべきかわかりませんか?ベクトル、マップ、またはハッシュマップを使用する必要があります。レコードを挿入する必要はありませんが、これらのレコード番号(または名前)のセットを含むテーブルを読み取り、そのレコードにリンクされているデータの一部を取得して、それらに対していくつかのプロセスを実行する必要があります。マップ上での検索は、この例のハッシュマップを使用しないほど高速ですか?レコードには構造としてクラスがあり、値としてクラスを持つマップまたはハッシュマップを使用したことはありません(可能な場合)。よろしくお願いします。
編集:
今のところ、すべてのレコードを同時にメモリに保持する必要はありません。>最初に構造を指定してから、いくつかのレコードからデータを取得する必要があります。レコードの総数は約2,000万です。これらの生のレコードをそれぞれ読み取り、その基本情報が作成する新しいマップまたはベクトルに存在しない場合は、残りのデータをそこに配置します。ベクトル。私は2000万件のレコードを持っているので、すべてのレコードについて400万件のレコードを調べて、そのレコードの基本情報が存在するかどうかを確認するのは非常に困難だと思います。私は約400万種類のパッケージを持っており、これらの各パッケージには複数の種類のサービスがあります(パッケージあたり約5(20/4))。