如果元素没有实现hashCode的话,比如这个情况, String str1="abc",String str2="abc",这时候str1和str2都是可以存进去的。作者: 余银桂 时间: 2012-6-19 16:50
hashSet添加一个对象先调用它的hashCode()得到这个对象的hashcode,放入hashSet中这个hashcode值的一个位置,如过添加的下一个对象的hashcode已经在hashSet中存在,就和这个位置上的其他对象用equals()比较,如果没有相同的对象就放入hashSet的这个位置。作者: 耿鑫 时间: 2012-6-19 16:53
你这个问题其实查下API就知道了 HashSet的add的解释是这样的:If this set already contains the element, the call leaves the set unchanged and returns false. 内容是不会变的,
public class HashSetTest
{
public static void main(String[] args)
{
HashSet<String> hs = new HashSet<String>();