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