序列化HashMap的快速方法

时间:2012-02-25 01:16:29

标签: java serialization hashmap

我正在寻找一种快速简便的方法来序列化HashMaps。我知道Object(Out | In)putStreams,但据我所知它们很慢。我尝试使用GSON,但我不想指定反序列化的类型(像往常一样,谁不喜欢类型擦除)。

我不使用XStream的原因:我有几个巨大的(250k元素)int数组,我也必须序列化。我不想要<的开销INT>< / INT>对于每个元素。

Hashmaps很短(100-200个元素)。

1 个答案:

答案 0 :(得分: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());
}