HashSet、TreeSet的去重原理
时间: 2023-05-26 21:03:41 浏览: 133
HashSet去重
HashSet和TreeSet都是Java中的集合类,可以用于存储一组没有重复元素的数据。它们的去重原理如下:
HashSet:
HashSet底层采用哈希表实现,当向HashSet中添加元素时,先调用元素的hashCode()方法得到元素的哈希码,然后根据哈希码将元素放置到相应的桶(bucket)中。如果两个元素的哈希码相等,它们会被认为是相等的元素,后添加的元素将会覆盖前面的元素。因此HashSet中不允许出现相同的元素。
TreeSet:
TreeSet底层采用红黑树实现,当向TreeSet中添加元素时,会根据元素的自然排序或者指定的排序规则进行排序,然后按照顺序将元素加入红黑树中。如果两个元素在排序顺序上相等,则会被认为是相同的元素,后添加的元素将会被舍弃。因此TreeSet中不允许出现相同的元素。
阅读全文