JAVA中的hashCode方法简述.ppt

JAVA中的hashCode方法简述

hashCode方法简述 周礼南 Collection List:集合内的元素是有序的,元素可以重复; Set:元素无序,但元素不可重复。 两个元素是否重复应该依据什么来判断呢? Object.equals方法:比较2个对象的引用地址,如果不同,就认为是不同的对象。(其子类根据情况重写该方法,如Integer类和String类) 如果每增加一个元素就检查一次,那么当元素很多时,后添加到集合中的元素比较的次数就非常多了。 哈希表的原理(散列算法) 散列算法 散列存储基本思想:以线性表中的每个元素的关键字K为自变量,通过某种函数h(K)计算出函数值,把该值作为元素的存储地址(即数组下标),将元素存储到这个单元中。 典型的哈希函数:H(key)=key MOD m Set—大盘子 元对象—糖果 Hashcode—小格子 当集合要添加或查找元素时,先通过 hashcode()找到“小格子”,再根据equals判断对象内容是否相等,从而判断集合对象是否包含某个元对象 hashCode()和equals() 在某一应用程序的一次执行过程中, hashCode()的返回值和equals()的关系如下: 如果x.equals(y)返回“true”,那么x和y的hashCode()必须相等。 如果x.equals(y)返回“false”,那么x和y的hashCode()有可能相等,也有可能不等。 h

文档评论(0)

1亿VIP精品文档

相关文档