文章 > java基础 > java中HashSet的使用特点

java中HashSet的使用特点

头像

小妮浅浅

2021-04-07 18:01:19377浏览 · 0收藏 · 0评论

1、HashSet和TreeSet区别

HashSet底层使用Hash表。

确保元素唯一性的原理:判断元素的hashCode值是否相同。如果是一样的话,会继续判断元素的equals方法是否是true。

TreeSet底层采用红黑树。

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

2、HashSet和HashMap区别

事实上,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的使用特点,希望对大家有所帮助。更多Java学习指路:Java基础

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮