ID セットを作成する簡単な方法を探しています。グラフをたどっているときに特定のオブジェクトを「見た」かどうかを追跡できるようにしたいだけです。
Set は "==" (Scala の equals メソッド) を使用して要素を比較するため、通常の Set は使用できません。私が欲しいのは、「eq」を使用するセットです。
セット要素で equals を呼び出すのではなく、等価性をテストするためのアプリケーション指定のメソッドを使用する Set を Scala で作成する方法はありますか? オーバーライドできるある種の「wrapEquals」メソッドを探しましたが、見つかりませんでした。
Java の IdentityHashMap を使用できることはわかっていますが、もっと汎用的なものを探しています。
私が持っていた別のアイデアは、eq に関して equals を実装する別のオブジェクトで各セット要素をラップすることでしたが、新しい equals 実装を取得するためだけに大量の新しいオブジェクトを生成するのは無駄です。
ありがとう!