HashSet里面通过add增加对象。通过判定对象的hashcode和equal是否相同来决定是否是同一对象。如果是同一对象不添加进去。
Set<SystemUser> set = new HashSet<SystemUser>();
SystemUser user1 = new SystemUser();
user1.setName("admin");
user1.setSex("bb");
set.add(user1);
set.add(user1);
SystemUser user2 = new SystemUser();
user2.setName("admin");
user2.setSex("aa");
if(set.contains(user2)){
set.remove(user2);
}
set.add(user2);
System.out.println("Set size:"+set.size());
for(SystemUser user :set){
System.out.println(user.getName());
System.out.println(user.getSex());
}
Set size:1
admin
aa
如果更新同一对象,先删除,然后在往里面添加。