A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

哪位看过  HashSet的视频?
怎样理解: 地址值相同的 不同对象进哈希表 两个对对象在同一个地址值上, 两个对象地址值一样是串下来的。。。。?

另外如果我这样
  1. </blockquote></div><div class="blockcode"><blockquote> HashSet hs = new HashSet();  
  2.       
  3.        hs.add("java03");        
  4.        hs.add("java03");        
  5.        hs.add("java04");        
  6.        hs.add("java02");        
  7.        hs.add("java01");  
复制代码

实际上  第二个 java03 对象是没存进哈希表? 还是在第一个“java03”对象串下去了一个对象,但地址值一样?

求解释,不太理解。

2 个回复

正序浏览
Mr.Hao 发表于 2014-6-25 08:45
如果你仅仅是存String的话,那么第二个java03是不能存进去的,因为首先比较hash值就是一样的,直接就认为是 ...

又看了遍视频明白了 感谢

回复 使用道具 举报
如果你仅仅是存String的话,那么第二个java03是不能存进去的,因为首先比较hash值就是一样的,直接就认为是同一个元素,若是你自己定义一个类,而且里面你还覆写了hashcode()、equals()、toString()方法,那么就可以按照你想比较的内容进行两个元素的比较
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马