java中HashSet的使用特点 java中HashSet的特点及实例用法
小妮浅浅 人气:0想了解java中HashSet的特点及实例用法的相关内容吗,小妮浅浅在本文为您仔细讲解java中HashSet的使用特点的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java,HashSet,下面大家一起来学习吧。
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方法。
知识点扩展:
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>();
加载全部内容