hashCode 功能不是判断相等 主要是提高判断的效率 也就是检索效率 试想如果每存入一个元素 都要与所有的对象比较一通 那元素数量一大起来 这个集合就可以放弃了 哈希值是一个整数 是存在hashTable内部数组的角标里 结合老张说的 每个哈希值就像一个区 ; 而且HashTable在创建的时候可以设置这个数组大小
下面是个人看法,想真正了解还得自己看哈希值原理:
对象元素可以无限制 HashTable设置的哈希值范围却有大小 就注定了哈希值主要用于提高效率的功用 所以为了准确判断是否相等就使用equals来弥补这个不足 |
|