Set集合通过下面两个方法来区分元素是否重复。
1. hashCode方法:
每个元素插入到Set集合前,都会为其分配一个哈希值(或者叫哈希码)。hashCode方法返回元素的哈希值,
如果一个元素的哈希值和集合中的某个元素不相同,则说明该元素在集合中没有重复元素,该元素可以插入到
Set集合中。如果哈希值相同,还需要判断equals方法。
2. equals方法:
如果元素的哈希值相同,并且调用equals方法后也相同(返回true),则说明该元素在集合中存在与其相同的元素,
阻止该元素插入到Set集合中。
Set集合就是通过这两个方法,实现元素唯一性的。
|