关于HashSet添加元素问题,大神来帮我看看
import java.util.*;
class employee{
private String id;
private String name;
private String age;
private String salary;
public employee(String id,String name,String age,String salary){
this.id=id;
this.name=name;
this.age=age;
this.salary=salary;
}
public String toString(){
return id+":"+name+","+age+","+salary+"";
}
public int hashcode(){
return id.hashCode();
}
public boolean equals(Object obj){
if(this==obj){
return true;
}
if(!(obj instanceof employee)){
return false;
}
employee emp=(employee)obj;
boolean b=this.id.equals(emp.id);
return b;
}
}
public class information {
public static void main(String[] args) {
HashSet hs=new HashSet();
employee emp1=new employee("5","张三","25","3500");
employee emp2=new employee("2","李四","30","4000");
employee emp3=new employee("5","王五","40","5000");
hs.add(emp1);
hs.add(emp2);
hs.add(emp3);
System.out.print(hs);
}
}我改写了hashcode()和equals()方法,为什么emp1和emp3这两个id都为5的对象都添加进去了?怎么不起作用?
...全文
相关推荐
java 中HashMap、HashSet、TreeMap、TreeSet判断元素相同的几种方法比较
主要介绍了从源码的角度浅析HashMap、TreeMap元素的存储和获取元素的逻辑;从Map与Set之间的关系浅析常用的Set中元素的存储和判断是否重复的逻辑,需要的朋友可以参考下
HashSet的实现原理
HashSet的实现原理 ,HashSet与HashMap的区别 以及 HashSet的底层实现方式
hashset类的使用
这个是关于java语言的hashset集合类的一些基本用法和详解了个方法的使用
HashMap 和 HashSet的区别
本文主要介绍HashMap 和 HashSet的区别,这里整理了详细的资料来说名两者的区别,并说明如何使用该方法,有需要的小伙伴可以参考下
一次因HashSet引起的并发问题详解
主要给大家介绍了一次因HashSet引起的并发问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


Java SE
