【发布时间】:2013-03-06 21:07:24
【问题描述】:
我有一个如下所示的自定义类:
public class customClass(){
private int keyCode;
private boolean up;
private String toTrigger;
public String getTrigger();
public boolean up();
public int keyCode();
}
拥有唯一值列表的最佳性能方式是什么?
我在考虑一个 HashSet,但我如何确保它是我的 customClass 的唯一唯一实例?
我需要覆盖什么?等于和哈希码?这会确保我的 CustomClass 哈希集只有唯一的实例吗?
谢谢
【问题讨论】:
-
这可能对你有帮助:stackoverflow.com/a/27609/1068167
-
基本上,是的:覆盖
equals和hashCode就足够了,但要确保正确覆盖它们,这并不容易。 (参见上面 span 的链接) -
啊谢谢 :) 那么在散列集中,散列集使用什么来确定其是否相等?哈希码还是等于?
-
问题:您需要实例唯一还是实例唯一的值?你在你的问题中提到了这两个。例如
Dummy d1 =new Dummy("a"); and Dummy d2= new Dummy("a");它们可以相等,但它们是不同的实例。 d1 和 d2 可以保留在您的列表/集合中吗?
标签: java list equals hashcode hashset