Java使用自定义对象作为键
示例
在使用自己的对象作为键之前,必须重写对象的hashCode()和equals()方法。
在简单的情况下,您将遇到以下情况:
class MyKey {
private String name;
MyKey(String name) {
this.name= name;
}
@Override
public boolean equals(Object obj) {
if(obj instanceof MyKey) {
return this.name.equals(((MyKey)obj).name);
}
return false;
}
@Override
public int hashCode() {
return this.name.hashCode();
}
}hashCode将决定键所属的哈希桶,并确定该哈希桶中的equals哪个对象。
如果没有这些方法,则对象引用将用于上述比较,除非每次都使用相同的对象引用,否则将无法正常工作。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下