黑马程序员技术交流社区

标题: 怎样理解哈希表对相同值 或相同对象的存储? [打印本页]

作者: 陈鹏83    时间: 2014-6-25 08:02
标题: 怎样理解哈希表对相同值 或相同对象的存储?
哪位看过  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”对象串下去了一个对象,但地址值一样?

求解释,不太理解。

作者: Mr.Hao    时间: 2014-6-25 08:45
如果你仅仅是存String的话,那么第二个java03是不能存进去的,因为首先比较hash值就是一样的,直接就认为是同一个元素,若是你自己定义一个类,而且里面你还覆写了hashcode()、equals()、toString()方法,那么就可以按照你想比较的内容进行两个元素的比较
作者: 陈鹏83    时间: 2014-6-25 11:29
Mr.Hao 发表于 2014-6-25 08:45
如果你仅仅是存String的话,那么第二个java03是不能存进去的,因为首先比较hash值就是一样的,直接就认为是 ...

又看了遍视频明白了 感谢






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2