本帖最后由 孙百鑫 于 2013-6-30 18:17 编辑
首先科普一下:(大牛掠过)
HashSet是如何保证元素唯一性的呢?
是通过元素的两个方法,hashCode和equals来完成。
如果元素的HashCode值相同,才会判断equals是否为true。
如果元素的hashcode值不同,不会调用equals。
那么,,是否可以,只通过hashcode来完成这一任务呢?。。。
以下我做了大胆尝试,,,{:soso_e153:}
String name ; int age ;
public int hashCode() { System. out .println( this. name + "....hashCode"); return name .hashCode() + age*7; }
public boolean equals(Object obj) { return true ; }
这样做有问题吗?。。啥问题,,,
|