私はmyObjectのコレクションcollを持っています。コレクションにそのような要素がない場合にのみ、collに要素を追加したいと思います。ユニークな要素のJavaコレクション
myObjectのequalsメソッドをオーバーライドしました。 20種類の属性が等しいかどうかをチェックします。
しかし、コレクションの場合、これらの属性の1つにのみ基づいて等価チェック(したがって追加)を行いたいと思います。
多分私のアーキテクチャに欠陥があり、2つの異なる定義を持つ必要があります。
しかし、あまりリファクタリングしなくても、私がここから欲しいものを達成することは可能でしょうか?つまり、Setコレクションのようなものがありたいのですが、ここで比較チェックを行う方法を教えてください。これは、Compare.sort()メソッドと似ています。このメソッドでは、比較を行うコンパレータを提供できます。
それから何ですか?このコンパレータはどのように使用しますか? – jbenz
SortedSetを見てください。おそらくそれはあなたのために動作します –
SortedSetが動作する可能性があります。私は非常に慎重だ、しかし、あなたのコンパレータは等しくおよび/または完了と一致しないため。 – Thilo