当前位置: 首页JavaSEJava集合面试题正文 HashSet 怎么保证元素不重复的? Java集合面试题 3 5.8K public boolean add(E e) { return map.put(e, PRESENT)==null; } JavaCopy 元素值作为的是 map 的 key,map 的 value 则是 PRESENT 变量,这个变量只作为放入 map 时的一个占位符而存在,所以没什么实际用处。其实,这时候答案已经出来了:HashMap 的 key 是不能重复的,而这里HashSet 的元素又是作为了 map 的 key,当然也不能重复了。 Java集合 帅地永久会员 打赏 收藏 海报挣佣金 推广链接
评论(1)
其本质是重写了hashCode()和equals(),前者定位桶的位置,后者比较元素的值。