1、提高集合中查找对象的效率
因为这种方法将集合分成若干个存储区域,每个区域可以计算出一个哈希码,可以将哈希码分组;每组分别对应某个存储区域,根据一个对象的哈希码就和以确定该对象因该存储在那个区域。
2、hashcode产生内存泄露
当一个对象存储经hash**集合中后,就不能改变这个对象中那些参与计算哈希值的字段了; 否者,对象修改后的哈希值与最初的存进集合中的哈希值就不同了,这样就会导致无法从集合中删除当前对象,从而造成内存泄露。
3、自定义类时hashcode方法是否重写
由于具有一定的对象判定功能,所以当需要将自定义对象存入hashSet或hashMap集合中,我们在自定义类似最好重写hashcode和equals方法。
|
|