У меня есть довольно большой текстовый файл (строки ~ 4 м). Я бы хотел разобрать, и я ищу совет о подходящей структуре данных для хранения данных. Файл содержит строки, подобные следующим:Соответствующая структура данных 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
са смешно вещь которую нужно сделать? Я полагаю, что я могу заменить клавишу String на объект даты (чтобы устранить так много сопоставлений строк), но это List
, поскольку значение, которое меня беспокоит, может оказаться непригодным.
Я использую TreeMap
, потому что я хочу перебирать ключи в порядке дат.
Справедливости ради, накладные расходы на память Карты немного зависят от распределения ключей. Если многие ключи повторно используются несколько раз, это может даже экономить память. – Ingo
Как неэффективно использовать память в качестве значения? Если вы создадите отдельный класс для использования в качестве значения, а затем сохраните «Список» внутри этого класса, вы все равно создаете такое же количество «списков». – Michael