私が正しく覚えていれば、Object() 型のオブジェクトの Java でのデフォルトの hashCode() 実装は、オブジェクトのメモリ アドレスを返すことです。独自のクラスを作成するとき、hashCode() をオーバーライドして、それらを HashMap() などのハッシュ関連のコレクションに挿入したときに適切に機能するようにしたいということを読みました。しかし、メモリアドレスが悪いのはなぜですか?
確かに、最終的にメモリが不足し、衝突が発生しますが、これが問題であると思われる唯一のケースは、大量のデータを処理していてメモリがほとんどない場合であり、パフォーマンスに影響を与え始めます。 Java のハッシュ関連のコレクションは、連鎖によって衝突を解決します (バケットは、同じハッシュコード/インデックスに解決された値のリストにリンクします)。