HashSet集合去重复的开始

  • Post author:
  • Post category:其他


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开始的。



版权声明:本文为weixin_45164550原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。