テキスト ファイルから HashMap にデータを取得しようとしています。テキスト ファイルの形式は次のとおりです。
700万行くらいある... (サイズ: 700MB)
つまり、各行を読み取り、緑色のフィールドを取得して、HashMap キーとなる文字列に連結します。値は赤のフィールドになります。
行を読むたびに、そのようなキーを持つエントリが既に存在するかどうかを HashMap でチェックインする必要があります。存在する場合は、値を赤で合計して値を更新するだけです。そうでない場合は、新しいエントリが HashMap に追加されます。
70.000 行のテキスト ファイルでこれを試してみましたが、非常にうまく機能します。
しかし、700 万行のテキスト ファイルを使用すると、次の画像のように「Java ヒープ スペース」の問題が発生します。
これは HashMap によるものですか? 私のアルゴリズムを最適化することは可能ですか?