メンバーとしてハッシュマップを含むJavaクラスがあります。このクラスは多くのオブジェクトで作成されます。これらの多くの場合、このタイプのオブジェクトの1つが別のオブジェクトに複製され、変更されます。変更によってハッシュマップが変更されるため、複製が必要です。元のオブジェクトの元のハッシュマップをそのまま維持する必要があります。ハッシュマップをクローンするJavaコードの高速化に関する提案はありますか?
誰かがクローニングのスピードを上げる方法や、それを避けるためのトリックを提案しているのだろうかと思います。私がコードをプロファイリングするとき、ほとんどの時間は、これらのハッシュマップ(通常は非常に小さな値のセット、数百など)のクローニングに費やされます。
(私は現在、コルトOpenIntDoubleHashMap実装を使用しています。)
私はHashMapのコードを見て、 'clone'はゼロから始め、すべてのハッシュキーを再計算します。あなたはHashMapのサブクラスを書き直すことができますが、それは残忍で、おそらく、なぜ非効率な 'クローン 'を選ぶのがよい理由がありますか? – toto2
より具体的にタイトルを変更 – MartinL