object转long问题(java filter函数的用法)

Object简介

Object类是所有类的父类,即每个类都直接或间接继承自该类。所以一个Object类型的变量可以引用任何对象,不论是类实例还是数组。

在不明确给出父类的情况下,Java会自动把Object作为要定义类的父类。

Object类有一个默认构造方法public Object(),在构造子类实例时,都会先调用这个默认构造方法。

Object类共13个方法

object转long问题(java filter函数的用法)

试想一下我们现在想要拿到 77 在数组中的位置,是不是只需要arr[77%11] = 77 就可以了。

但是上述简单的 hash 算法,缺点也是很明显的,比如 77 和 88 对 11 取余数得到的值都是 0,但是角标为 0 位置已经存放了 77 这个数据,那88就不知道该去哪里了。上述现象在哈希法中有个名词叫碰撞:

碰撞:若两个不同的数据经过相同哈希函数运算后,得到相同的结果,那么这种现象就做碰撞。

如果两个对象相同,那么它们的hashCode值一定要相同;

如果两个对象的hashCode相同,它们并不一定相同(这里说的对象相同指的是用equals方法比较)。

equals()相等的两个对象,hashCode()一定相等;equals()不相等的两个对象,却并不能证明他们的hashCode()不相等。

(0)
小多多的头像小多多创始人

相关推荐

发表回复

登录后才能评论