时间:2021-05-19
HashSet底层使用Hash表。
确保元素唯一性的原理:判断元素的hashCode值是否相同。如果是一样的话,会继续判断元素的equals方法是否是true。
TreeSet底层采用红黑树。
确保元素的唯一性是通过Comparable或Comparator接口实现的。
事实上,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方法。
知识点扩展:
HashSet 中的元素实际上是对象,一些常见的基本类型可以使用它的包装类。
基本类型 引用类型 boolean Boolean byte Byte short Short int Integer long Long float Float double Double char Character
HashSet 类位于 java.util 包中,使用前需要引入它,语法格式如下:
import java.util.HashSet; // 引入 HashSet 类以下实例我们创建一个 HashSet 对象 sites,用于保存字符串元素:
HashSet<String> sites = new HashSet<String>();到此这篇关于java中HashSet的特点及实例用法的文章就介绍到这了,更多相关java中HashSet的使用特点内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
详解Java中HashSet和TreeSet的区别1.HashSetHashSet有以下特点:不能保证元素的排列顺序,顺序有可能发生变化不是同步的集合元素可以是
本文实例讲述了Java替换int数组中重复数据的方法。分享给大家供大家参考,具体如下:packagetest;importjava.util.HashSet;p
java中静态导入机制用法实例详解这里主要讲解了如何使用Java中静态机制的用法,这里提供了简单实例大家可以参考下。静态常量类在java开发中,我们会经常用到一
Java散列存储 Java中散列存储的数据结构主要是指HashSet、HashMap、LinkedHashSet、LinkedHashMap以及HashTabl
本文实例讲述了Java计算交集,差集,并集的方法。分享给大家供大家参考,具体如下:packagemath;importjava.util.HashSet;imp