hashCode方法和hashSet类
对象只有存在HashSet集合中才可以使用hashCode算法。
hashCode方法提高了从集合中存取元素的速度,由于set集合中的元素是不允许重复的。
在set中存取元素的过程:
1.首先调用hashCode()方法计算出元素的hashCode。
2.根据hashCode值找到其对应的存储区域。
3.取出该区域内的各个元素与之相比较,即调用对象的equals方法。
只有类的实例对象要被采用哈希算法进行存储和检索时,这个类才需要要求覆盖hashCode方法。即使程序可能暂时不会使用到该方法,但是通常都会覆盖hashCode方法和equals方法。
当一个对象被存储进hash集合以后,就不能再修改对象中参与计算hashCode的属性,否则将造成内存泄漏问题。表面上程序代码不断地增加对象,删除对象,但实际上内存中并未删除该对象,即使以后不使用了,还一直存在于内存中。
package cn.itcast.day;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
public class ReflectTest {
本文参考于http://blog.sina.com.cn/s/blog_7b1cae8d0100r5rz.html