Set使用hashCode与equals方法去重复原理
程序员文章站
2022-03-16 08:50:13
...
set是如何去除重复的:HashCode()和equals() 消除重复元素
if(元素先判断HashCode是否相同:)
//如果HashCode相同:(不同对象的hashCode可能相同)
//判断equals方法
if(属性相同:)
同一对象不存储
else(属性不同:)
不同对象直接存储
else(如果HashCode不相同:不是相同对象,直接存储)
hashCode和equals代码实现
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Worker other = (Worker) obj;
if (age != other.age)
return false;
return true;
}
上一篇: 带头循环双向链表
下一篇: PTA 带头节点的双向循环链表操作