(集合)java中的哈希表,HashSet,TreeSet
?
?
哈希表是一种数据结构,能够快速定位已存储的数据的地址:
?
1.通过hashCode()计算哈希码,通过该哈希码定位到内存地址。hash码的计算通常基于对象的某些特有属性进行计算;
?
2.如果地址不同,则直接存入;
?
3.如果地址相同,则调用该对象的equals()比较内容;如果内容相同,则丢弃,不同,则顺延一个空间,存入。
?
HashSet? HashMap 都是基于hash表的数据结构进行实现的。
?
?
?
HashSet确保对象唯一,通过hashCode()与equals()来完成
?
hashCode() 计算不同对象的哈希码
equals() 当地址相同时,判断对象是否相同,如果相同,则丢弃,如果不同,就顺延存入。这样便确保了对象的唯一性
?
zs1--10zs2--15zs2--20?