少しおかしく聞こえるかもしれませんが、私の言いたいことを説明すると:
非常に遅い初期化オブジェクトをいくつか含む(HashSet など) があり、特定のオブジェクトが既に含まれているCollection
かどうかを確認したいと考えています。例としてCollection
使用しましょう(初期化に費用がかからないことはわかっています)。Vector3d
したがって、Collection
含まれています:
Vector3d(1,1,1)
Vector3d(2,1,1)
Vector3d(3,1,1)
そして、「 には with が含まれていますか (つまり、メソッドがハッシュするデータを既に知っています)」という質問をしたいので、新しいものを作成してから使用することができますがCollection
、オブジェクトの初期化が遅いと言ったように、または手動でチェック全体を実行することもできますが(これは私が今行っていることです)、それは(私が理解しているように)ハッシュを使用しないためより遅くなります.これを行うより良い方法はありますか?Collection
Vector3d
x=2
y=1
z=1
.contains()
Vector3d(2,1,1)
.contains()
Collection
.contains()
問題のオブジェクトは変更可能ですが、equals
メソッドが基づいているデータはそうではありません。(私の場合、それらは x、y、z 座標のブロックです。ブロックの内容は変更される可能性がありますが、x、y、z 座標は変更されません)