学习笔记-hashCode和equals

equals

判断两个对象是否相等

			//在Obejct中
			public boolean equals(Object obj) {
			        return (this == obj);
			    }

对于基本数据类型,判断是否相等可以用值来衡量。
对于引用数据类型,多个同一类型对象的属性可能相同,但其内存地址不相同,所以,多个对象是否相同,要依据实际需求来判断。如:可以定义当属性相同时可以认为同一对象;又如:引用内存地址相同是证明是同一对象。

HashCode

			 public native int hashCode();
			 //native该关键字用来修饰方法,表示在java程序中调用的是其它底层(c/c++)代码实现。

hashCode代表了对象在hash表中的的地址,可以将数字抽象的理解为地址。该数字可以在HashMap中快速找到对象。
在这里插入图片描述

哈希函数(也叫散列函数)

不定长的输入——————>定长的输出 (单向,不可反推)
应用:MD5+salt
md5算法加一个随机数,避免被彩虹表破解。

哈希表

存储键值对K-V。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值