【说站】java中HashSet的使用特点

2022-11-23 12:18:38 浏览数 (1)

java中HashSet的使用特点

HashSet和TreeSet区别

1、HashSet底层使用Hash表。确保元素唯一性的原理:判断元素的hashCode值是否相同。如果是一样的话,会继续判断元素的equals方法是否是true。

TreeSet底层采用红黑树。

确保元素的唯一性是通过Comparable或Comparator接口实现的。

HashSet和HashMap区别

2、事实上,HashSet的底层实现还是HashMap,只是它只使用了Key,具体如下:

(1)在HashSet的add方法的底层,使用HashMap的put方法将key=e,value=PRESENT构建成key-value键值对,当e存在于HashMap的key中时,value将覆盖原来的value,但key保持不变,因此,如果在HashSet中添加了一个已经存在的e元素,新添加的元素就不会存在于HashMap中,因此这就满足了HashSet中元素不会重复的特性。

(2)HashSet的contains方法使用HashMap得到containsKey方法。

以上就是java中HashSet的使用特点,希望对大家有所帮助。

0 人点赞