2012-02-25 6 views
1

ハッシュマップをシリアライズするための迅速かつ簡単な方法を探しています。私はObject(Out | In)のputStreamsを知っていますが、私が知っている限り、それらはむしろ遅いです。私はGSONを使用しようとしましたが、デシリアライゼーションのタイプを指定したくありません(いつものように、タイプerasionのようなものはありません)。HashMapをシリアライズするための速い方法

私はXStreamを使用していません。私はいくつかの巨大な(250k要素)int配列を持っています。これもシリアル化する必要があります。そして、私は各要素の< int> </int>のオーバーヘッドをしたくないです。

ハッシュマップは短いです(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()); 
} 
関連する問題