私のプログラムは、何百万ものレコードをデータ コンテナーに挿入する必要があります。hashmapと treemapを試しました。JVMが2GBのRAMを使用できるようにしていますが、両方ともヒープスペースの例外が発生します。
私のプログラムはコンテナから特定のデータを頻繁に取得しますが、 O(logn) 時間がかかる場合は許容できると思います。では、どのコンテナを使用すればよいでしょうか。または、実装する必要がありますか?どのように?
詳細:キーは、グローバル ID のような文字列です。たとえば、"00011123459" などです。次に、キーはリストのリストにマップされますList<List<String>>
。私のプログラムはファイルからreadLineを読み、次に行をリストに変更し、リストからグローバルIDを取得し、リストを対応するリストのリストに入れます。ファイルには数百万行以上の行が含まれているため、リストを作成しすぎたことが主な理由だと思います。ただし、マシンにメモリを追加することはできません。