HashMap альтернативы для хранения данных с эффективным использованием памяти

В настоящее время у меня есть программа типа электронных таблиц, которая хранит свои данные в ArrayList HashMaps. Вы, несомненно, будете шокированы, когда я скажу вам, что это не оказалось идеальным. Похоже, что накладные расходы используют в 5 раз больше памяти, чем сами данные.

Этот вопрос спрашивает об эффективных библиотеках коллекций, и ответом было использование Google Collections.Мое продолжение "какая часть?", Я читал документацию, но не думаю, что она дает очень хорошее представление о том, какие классы подходят для этого. (Я также открыт для других библиотек или предложений).

Поэтому я ищу что-то, что позволило бы мне хранить плотные данные типа электронных таблиц с минимальными перегрузками памяти.

На мои столбцы в настоящее время ссылаются объекты Field, строки на их индексы, а значения - Objects, почти всегда StringsНекоторые столбцы будут иметь много повторяющихся значенийосновные операции - обновление или удаление записей на основе значений определенных полей, а также добавление / удаление / объединение столбцов

Мне известны такие опции, как H2 и Derby, но в этом случае я не собираюсь использовать встроенную базу данных.

РЕДАКТИРОВАТЬ: Если вы предлагаете библиотеки, я также был бы признателен, если бы вы указали мне один или два класса в них, которые применимы здесь. Принимая во внимание, что документация Sun обычно включает информацию о том, какие операции являются O (1), а какие (O (N) и т. Д.), Я не вижу ничего такого в сторонних библиотеках, да и вообще никакого описания того, какие классы лучше всего подходят для каких ,

Ответы на вопрос(10)

Ваш ответ на вопрос