在内存中怎样使用哈希算法和HashCode?这问题太底层了,我其实也不十分清楚,但我是这样想的:先想想哈希(散列)算法的特点(值决定位置),然后内存中有一块空间是属于HashSet开辟的,把这块空间想像成一个坛子,然后这个里要存储东西了,但是坛子里是不能存储相同东西的。在往坛子里加东西的时候,先看看坛子里面有没有相同的东西,什么叫相同呢?这就要用到一个判断标准,及每个东西都有一个hashCode值,用HashCode()方法获取。我们不仅可以通过HashCode值来判断坛子里时候已经有了相同东西,而且如果在没有相同东西的前提下我们可以用HashCode值来决定该对象放在HashSet(坛子)中的存储位置! |