1,哈希算法:这种算法将集合分为若干个区域,每个对象可以计算出一个哈希码,可以讲哈希码分组,每组分别对应一个区域,根据一个对象的哈希码就可以确定这个对象存储在那个区域,从而大大提高了存储和读取兑取集合中对象的速度;
2,哈希集合:就是内部采用了哈希算法的集合,HashSet就是一种哈希集合。
3,只有类的实力对象要被采用哈希算法进行检索与存储时菜要求覆盖HashCode方法。当然提供一个hashcode方法机师对象不用到也不会有什么坏处;
4,注意:①一般来说两个对象equal方法相等时他们的哈希码必须相等,但反之则不一定;
②当一个对象被存储进哈希集合钟以后就不能修改这个对象中参与了哈希码计算的字段了,否则修改后的哈希值跟存储时的哈希值就不一样了,那么当以后需要检索这个对象时根据新的哈希码就检索不到此对象,而想要移除这个对象时也会无法删除这个对象,从而造成内存泄露;
这都是张老师的视频里讲过的东西,上面是我做的笔记,你只要去看看视频就会知道了 |