List / HashSet中使用的自定义类

时间:2013-03-18 13:44:50

标签: java list equals hashcode hashset

我有一个如下所示的自定义类:

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

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

获得唯一值列表的最佳表现方式是什么?

我在考虑一个HashSet,但是我如何确定它的customClass唯一的唯一实例?

我需要覆盖什么? Equals和HashCode?这会确保我的Hash Set of CustomClass只有唯一的实例吗?

由于

1 个答案:

答案 0 :(得分:2)

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

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

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

  • 是的,它会确保只有您的唯一实例 散列集中的customClass。所以去吧。