HashSet去重复是从add开始的:
    
    
    
    如果添加重复的对象就会被add自动去重复,下面我们分别用来实验下:
    
    public static void main(String[] args) {
    
    
    Set set=new HashSet();
    
    Worker a=new Worker(“tom”,18,2000);
    
    set.add(new Worker(“tom”,18,2000));
    
    set.add(new Worker(“tom”,18,2000));
    
    set.add(new Worker(“jerry”,18,2000));
   
	set.add(a);
	set.add(a);
	
	Iterator<Woker> b=set.iterator();
	while(b.hasNext())
		System.out.println(b.next());
}
    class Worker{
    
    
    @Override
    
    public String toString() {
    
    
    return “Worker [name=” + name + “, age=” + age + “, salary=” + salary + “]”;
    
    }
    
    String name;
    
    int age;
    
    double salary;
    
    public Worker() {}
    
    public Worker(String name,int age,double salary) {
    
    
    this.name=name;
    
    this.age=age;
    
    this.salary=salary;
    
    }
    
    public int hashCode() {
    
    
    return 1;
    
    }
   
public boolean equals(Object obj) {
	return false;
}
}
    当我们把hashCode和equals写死,也就是全部添加,当我们不写两个set.add(a)时输出结果是
    
    
    
    可以明确的看到添加了重复的语句,因为这时我们的hashCode和equals写死,也就是全部添加,但是当我们只两个写set.add(a)时结果:
    
    
    而这是并没有全部添加进来 ,原因就在于Set集合去重复是从add开始的。
   
 
