HashSet如何检查重复
当对象加入HashSet时,HashSet会先计算该对象的HashCode值,来判断该对象的加入位置,同时也会与其他已加入对象的HashCode进行比较:
如果没有相同的HashCode,HashSet会假设该对象没有重复出现;
如果发现有相同的HashCode,会调用equals()方法来检查HashCode相同的对象内容是否相同:
如果两者相同,HashSet就不会让其加入,如果不同的话,就会把该对象重新散列到其他位置。
减少equals()方法调用次数,提高执行速度。
