9、 Hashcode的作用

源代码 2024-10-5 17:10:01 58 0 来自 中国
Hashcode的作用

        java的聚集有两类,一类是List,尚有一类是Set。前者有序可重复,后者无序不重复。当我们在set中插入的时间怎么判定是否已经存在该元素呢,可以通过equals方法。但是假如元素太多,用如许的方法就会比力慢。
        于是有人发明确哈希算法来进步聚集中查找元素的服从。 这种方式将聚集分成多少个存储地域,每个对象可以盘算出一个哈希码,可以将哈希码分组,每组分别对应某个存储地域,根据一个对象的哈希码就可以确定该对象应该存储的谁人地域。
        hashCode方法可以如许明确:它返回的就是根据对象的内存地址换算出的一个值。如许一来,当聚集要添加新的元素时,先调用这个元素的hashCode方法,就一下子能定位到它应该放置的物理位置上。假如这个位置上没有元素,它就可以直接存储在这个位置上,不消再举行任何比力了;假如这个位置上已经有元素了,就调用它的equals方法与新元素举行比力,雷同的话就不存了,不雷同就散列别的的地址。如许一来实际调用equals方法的次数就大大低落了,几乎只必要一两次。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-12-4 01:28, Processed in 0.152473 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表