私は1つのクラスHumanを持っています。これには、 age(int)とname(String)の2つのフィールドが含まれています。Eclipseを使用して、hashCode()メソッドとequals()メソッドをこれらの2つのフィールドでオーバーライドします。また、年齢フィールドに基づいてコンパレータを作成します。
ここで、 Comparator of ageとHumanクラスの2つのインスタンス(異なるフィールド値を持つ)を使用してTreeSetオブジェクトを作成します。次に、これら2つのオブジェクトをセットに追加しますが、セットには常に1つのオブジェクトしかありません。
問題を理解するために、これら2つのオブジェクトのハッシュ値を出力しましたが、それらが異なっていることがわかりました。次に、 equals()メソッドをテストします。フィールド値が異なる2つのインスタンスを比較すると、falseが出力されます。そのため、TreeSetが問題を処理(区別)できない理由がわかりません。誰か助けてもらえますか?どうもありがとう !