介绍Java中HashSet的特点 以及其的实例用法

猿友 2021-07-17 15:08:14 浏览数 (2492)
反馈

HashSet是基于HashMap实现的,是一个不允许有重复元素的集合。本篇文章将为您介绍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>();

到此这篇关于Java中HashSet的特点以及其的实例用法的文章就介绍到这了,想要了解更多相关java中HashSet的其他详细内容请搜索W3Cschool以前的文章或继续浏览下面的相关文章,希望大家以后多多支持!

0 人点赞