Map 可変または非可変のキーとしてのハッシュ/パフォーマンスの点でどちらが優れていますか
そして、なぜそうですか?
よろしく
hashCode()
オブジェクトの/が変更される可能性がある場合は、変更可能なオブジェクトを使用しないでくださいequals()
。それは間違った場所にあり、Map
おそらくそれを見失うでしょう。
可変性はパフォーマンスに影響しません。ハッシュはこれらのメソッドのみを使用するため、hashCode と equals メソッドの実装のみがパフォーマンスに影響を与える可能性があります。
chriylis がすでに指摘しているように、ハッシュ値が変更され、Map.get がそれらを見つけられなくなるため、Map に既に配置されているキー オブジェクトを変更しないでください。
これらは接続されていません。オブジェクトを変更した場合 (削除 - 変更 - 挿入)、オブジェクトをマップに再挿入する必要があります。削除せずにキーを変更すると、それを参照できなくなります。つまり、通常の方法で削除または取得することができなくなります。