java中HashSet的特点及实例用法

 更新时间:2021年04月08日 08:36:16   作者:小妮浅浅  
在本篇文章里小编给大家整理的是一篇关于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>();

到此这篇关于java中HashSet的特点及实例用法的文章就介绍到这了,更多相关java中HashSet的使用特点内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mybatis3使用@Select等注解实现增删改查操作

    mybatis3使用@Select等注解实现增删改查操作

    这篇文章主要介绍了mybatis3使用@Select等注解实现增删改查操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Java两个乒乓球队比赛名单问题(判断素数)

    Java两个乒乓球队比赛名单问题(判断素数)

    两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单
    2017-02-02
  • JustAuth整合第三方登录组件样例

    JustAuth整合第三方登录组件样例

    这篇文章主要为大家介绍了JustAuth整合第三方登录组件样例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • Java实现Excel批量导入数据

    Java实现Excel批量导入数据

    这篇文章主要为大家详细介绍了Java实现Excel批量导入数据,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • 基于Spring的Maven项目实现发送邮件功能的示例

    基于Spring的Maven项目实现发送邮件功能的示例

    这篇文章主要介绍了基于Spring的Maven项目实现发送邮件功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Spring Cloud整合XXL-Job的示例代码

    Spring Cloud整合XXL-Job的示例代码

    这篇文章主要介绍了springcloud整合xxl-job的示例代码,主要分为四个过程,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 浅谈Spring中HandlerMapping的使用

    浅谈Spring中HandlerMapping的使用

    这篇文章主要介绍了浅谈Spring中HandlerMapping的使用,Spingmvc中的HandlerMapping负责解析请求URL,对应到Handler进行处理,这里的Handler一般为Controller里的一个方法method,也可以为servlet或者Controller等,需要的朋友可以参考下
    2023-08-08
  • springboot静态资源的配置方式

    springboot静态资源的配置方式

    这篇文章主要介绍了springboot静态资源的配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • java拷贝指定目录下所有内容到minIO代码实例

    java拷贝指定目录下所有内容到minIO代码实例

    这篇文章主要介绍了java拷贝指定目录下所有内容到minIO代码实例,创建桶 直接使用工具类先判断,再创建即可,创建文件夹,需要注意以"/"结尾,实际也是在minIO上创建文件,只是作为目录的表现形式展示,需要的朋友可以参考下
    2024-01-01
  • 将Java项目提交到云服务器的流程步骤

    将Java项目提交到云服务器的流程步骤

    所谓将项目提交到云服务器即将你的项目打成一个 jar 包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux + JDK + MariDB(MySQL)+ Git + Maven,文中通过图文讲解的非常详细,需要的朋友可以参考下
    2025-04-04

最新评论