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

© tuan2016 中级黑马   /  2016-5-17 23:02  /  425 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


往Haset添加元素的时候,HashSet会先调用元素的hashCode方法得到元素的哈希值 ,然后通过元素的哈希值经过移位等运算,就可以算出该元素在哈希表中 的存储位置。
情况1: 如果算出元素存储的位置目前没有任何元素存储,那么该元素可以直接存储到该位置上。
情况2:如果算出该元素的存储位置目前已经存在有其他的元素了,那么会调用该元素的equals方法与该位置的元素再比较一次,如果equals返回的是true,那么该元素与这个位置上的元素就视为重复元素,不允许添加,如果equals方法返回的是false,那么该元素运行添加

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马