# HashSet的equals和hashCode重写问题

**URL:** <https://www.isharkfly.com/t/hashset-equals-hashcode/2170>\
**Category:** 程序语言\
**Created:** [November 29, 2012, 12:52am UTC](https://www.isharkfly.com/t/hashset-equals-hashcode/2170 "2012-11-29T00:52:46Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [November 29, 2012, 12:52am UTC](https://www.isharkfly.com/t/hashset-equals-hashcode/2170/1 "2012-11-29T00:52:46Z")

</div>

通常在Android开发中可以方便的使用Java的集合类，对于HashSet可能部分网友比较陌生，相对于HashMap他们有哪些不同呢? HashSet从名称上看可以理解为Hash+Set，Set集合是不允许元素重复的，所以使用时必须考虑元素的重复问题，一般我们需要重写equals和hashCode来实现内部元素的比较排序等。重写方法比较简单

@Override  
public boolean equals(Object obj) {  
if (obj instanceof T) {  
return obj.equals(T.obj);  
}  
return false;  
}

```
@Override
public int hashCode() {
    return T.hashCode();
}

```
