java - 列表/哈希集中使用的自定义类

标签 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 的唯一唯一实例?

我需要覆盖什么?等于和哈希码?这将确保我的 CustomClass 哈希集仅具有唯一的实例吗?

谢谢

最佳答案

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

  • 在自定义类中重写 .equals() 和 .hashCode()。

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

  • 是的,它会确保您的实例只有唯一的实例 哈希集中的自定义类。所以就努力吧。

关于java - 列表/哈希集中使用的自定义类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15478360/

相关文章:

python - 从 Json Python 获取特定字段值

c++ - 在 C++ 中使用多重函数合并两个链表

c# - 合并两个自定义类返回重复项

java - 覆盖抽象父类(super class)的 equal 和 hashCode

java - 使用 Jackson 将映射编码到对象

java - Java中main方法中args的Jdoc描述

java - 在java中实现能够处理数组列表、链表和双向链表的SelectionSort

java - Spring @Autowired 令人困惑

java - RepositoryItemReader : java. util.ArrayList 无法转换为 org.springframework.data.domain.Page

c# - T[].Contains for struct 和 class 表现不同