1

以下のようなカスタムクラスがあります。

public class customClass(){
    private int keyCode;
    private boolean up;
    private String toTrigger;

    public String getTrigger();
    public boolean up();
    public int keyCode();
}

パフォーマンスが一意の値のリストを持つための最良の方法は何ですか?

HashSet を考えていましたが、customClass の一意のインスタンスだけを確認するにはどうすればよいですか?

何をオーバーライドする必要がありますか? イコールとハッシュコード? 私の CustomClass の Hash Set に一意のインスタンスのみがあることを確認しますか?

ありがとう

4

1 に答える 1

2

a.equals(b) が true の場合、hashcode()も同じでなければなりません。

  • カスタム クラスで .equals() と .hashCode() の両方をオーバーライドします。

    カスタム クラスの同じフィールドを使用して、.equals() で等価性をチェックするために使用した hashCode を計算します。

  • はい、ハッシュセットに customClass の一意のインスタンスのみがあることを確認します。だからそれのために行きます。

于 2013-03-18T13:50:14.777 に答える