2012-02-25 4 views
1

Im ищет быстрый и простой способ сериализации HashMaps. Я знаю Object (Out | In) putStreams, но насколько я знаю, они довольно медленные. Я пытался использовать GSON, но я не хочу указывать тип десериализации (как обычно, кому не нравится стирание типа).Быстрый способ сериализации HashMap

Reasion Я не использую XStream: у меня есть несколько массивных массивов (250k Elements), которые мне тоже нужно сериализовать. И я не хочу накладные расходы < int> </int> для каждого элемента.

Hashmaps короткие (100-200 элементов).

+0

Каковы типы ключей и значений? –

+1

Взгляните на [MessagePack] (http://msgpack.org/) – rid

+1

Если производительность вызывает беспокойство, подумали ли вы об использовании собственной реализации через JNI? – Borealid

ответ

3

Часто проблема заключается в сериализации ключей и значений. В зависимости от того, что у вас есть, вы можете написать это так:

DataOutputStream dos = 
Map<K, V> map = 
dow.writeInt(map.size()); 
for(Entry<K, V> entry: map.entrySet()) { 
    dos.writeXxxx(entry.getKey()); 
    dos.writeXxxx(entry.getValue()); 
} 
Смежные вопросы