6
java 7が提供するHashMapを使用しているとき、get()はO(1)からO(n)に進化してhere 8.Java 7の高速で一定のget()を使用したマップ
私はJava 7に固執してプロジェクトをアップグレードすることができないので、私はライブラリを探していますか、高速で定数のget()を持つ方法があります。
java 7が提供するHashMapを使用しているとき、get()はO(1)からO(n)に進化してhere 8.Java 7の高速で一定のget()を使用したマップ
私はJava 7に固執してプロジェクトをアップグレードすることができないので、私はライブラリを探していますか、高速で定数のget()を持つ方法があります。
のJava 8の変化の本質:
あなたのリンクから特定した後、リンクリストの代わりに、バランスの取れたツリーで自分のエントリを格納します衝突多数のキーを含むPerformance Improvement for HashMap in Java 8
バケツ閾値に達する。
あなたのhashCode
の実装を改善することにより衝突キーの数を減らすことにより、同等のものを達成できます。
hashCode
計算の詳細や値のパターンがないと、さらにアドバイスすることは困難です。
http://java-performance.info/hashmap-overview-jdk-fastutil-goldman-sachs-hppc-koloboke-trove-january-2015/ – assylias
初期容量を大きくすると、異なるハッシュコード間の衝突(スペース/時間コスト)。ベスト(java 8でも)は、作成されたhashCodesをチェックして改善することです。 –
本当に多くのハッシュ・コリジョンがありますか?あなたのキータイプは何ですか? –