よし、正しい方向に向ける必要がある。私はすでにハッシュコードとオーバーライド付きのequalsメソッドを持っています。
@Override
public int hashCode() {
return type.hashCode() ^ type2.hashCode() ^ type3.hashCode() ; }
@Override
public boolean equals(Object obj) {
if (!(obj instanceof MyObject)) {
return false;
}
MyObject mdc = (MyObject) obj;
return mdc.type.equals(type) && mdc.type2.equals(type2) && mdc.type3.equals(type3);
}
3 番目ではなく、1 番目と 2 番目のタイプのみを比較したい場合はどうすればよいでしょうか。後で使用するために、2 つの hash メソッドと equal メソッドを使用できますか?
私がやりたいことは、タイプ 1 とタイプ 2 が一致する場合、それらを現在の配列リストから削除し、それらを新しいリストに追加して、どれが同じタイプであったかを示すことです。これは、上記のハッシュ コードとは異なります。
配列内に別の方法はありますか? type1 と type2 のどの組み合わせが複数回出現するかを確認できますか?
元:
- ハローを撃つ
- CallofDutyを撃つ
- レーシング フォルツァ
- …………
- .........
- ..........
- ハローを撃つ
シューティング ハローが 2 回表示されます。削除して別のリストに追加する必要がありますが、問題は、以前に使用したハッシュコードを既に持っていることです。
編集:アイデアをくれた皆さんに感謝します。同様のゲッターとセッターを備えた別のオブジェクトクラスを作成することでこの問題を解決しましたが、新しいハッシュコードを使用して機能しました。次回はより良いロジックメソッドを使用します。この投稿での私の主な目標は、1 つのクラスに複数のハッシュコードとメソッドを持つ方法があるかどうかを知ることでした。:)