私は解析したいと思う比較的大きなテキストファイル(〜4m行)を持っています。データを格納する適切なデータ構造についてのアドバイスを探しています。ファイルには、次のような行が含まれています。大きなデータファイルを解析するのに適したJavaデータ構造
Date Time Value
2011-11-30 09:00 10
2011-11-30 09:15 5
2011-12-01 12:42 14
2011-12-01 19:58 19
2011-12-01 02:03 12
私の最初の考えは、行の残りの部分に日付をマップするためにTreeMap<String, List<String>>
を使用していたが、TreeMap
List
のSAばかげているので、私はグループに日付別の行をしたいですやるべき事?私は、文字列のキーを日付オブジェクトで置き換えることができると思いますが(それほど多くの文字列の比較を排除するため)、List
という値は不適切だと思います。
私はTreeMap
を使用しています。これは、日付順にキーを繰り返したいからです。
地図のメモリオーバーヘッドは、鍵の配布に少し依存します。多くのキーが何度も再利用されると、メモリを節約することさえできます。 – Ingo
値として 'List'を使用するのはどのようにメモリが非効率ですか?別のクラスを作成して値として使用し、そのクラスの中に 'List'を格納すると、同じ数の' Lists'が作成されます。 – Michael