我有一個相當大的文本文件(~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