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 哈希集只有唯一的实例吗?

谢谢

4

1 回答 1

2

如果 a.equals(b) 为真,那么 hashcode()也必须相同。

  • 在您的自定义类中同时覆盖 .equals() 和 .hashCode()。

    使用自定义类的相同字段来计算用于在 .equals() 中检查相等性的 hashCode。

  • 是的,它将确保您的 customClass 在哈希集中只有唯一的实例。所以去吧。

于 2013-03-18T13:50:14.777 回答