哈希表的原理:?
1,对对象元素中的关键字(对象中的特有数据),进行哈希算法的运算,并得出一个具体的算法值,这个值?称为哈希值。?2,哈希值就是这个元素的位置。?
3,如果哈希值出现冲突,再次判断这个关键字对应的对象是否相同。如果对象相同,就不存储,因为元素重复。如果对象不同,就存储,在原来对象的哈希值基础?+1顺延。?4,存储哈希值的结构,我们称为哈希表。?
5,既然哈希表是根据哈希值存储的,为了提高效率,最好保证对象的关键字是唯一的。?这样可以尽量少的判断关键字对应的对象是否相同,提高了哈希表的操作效率。
?对于ArrayList集合,判断元素是否存在,或者删元素底层依据都是equals方法。?
对于HashSet集合,判断元素是否存在,或者删除元素,底层依据的是hashCode方法和equals方法。 |
|