コンストラクターが4つの整数フィールドを受け取るXオブジェクトがあります。ハッシュ関数を計算するには、単純に配列に入れてArrays.hashCodeを使用します。
現在、コンストラクターはプライベートであり、静的クリエーターメソッドがあります。以前に呼び出された4つの整数パラメーターを使用してcreatorメソッドが呼び出されるたびに、前回と同じオブジェクトを返すことができるように、構造をメモしたいと思います。[理想的には、比較するために別のXオブジェクトを作成する必要はありません。]
もともとhashSetを試しましたが、hashSet。に等しいオブジェクトが含まれているかどうかを確認するために新しいXを作成する必要がありました...hashSetから「取得」できないという事実を気にしないでください。
私の次のアイデアは、マップするHashTableを使用することです:4つのフィールドのint配列のhashCode->オブジェクト。理由はわかりませんが、それは正しくありません。あまりにも多くの作業をしているように感じますが、hashCodeのポイントは、同じhashCodeに計算される一連のオブジェクトへの一種のマッピングではありませんか?
アドバイスありがとうございます。