博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java面试题——Set接口
阅读量:2428 次
发布时间:2019-05-10

本文共 386 字,大约阅读时间需要 1 分钟。

1.HashSet的实现原理

HashSet是基于HashMap实现的,HashSet的值存放在HashMap的Key上,HashMap的value同一为PRESENT(PRESENT是一个至始至终都相同的虚值),因此HashSet的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HaspMap的相关方法来完成,HashSet不允许重复的值

在这里插入图片描述

2.HashSet如何检查重复?

向HashSet中添加元素时,判断元素是否存在的依据,不仅要比较hash值,同时还要结合equels方法比较

HashSet中的add()方法会使用HashMap的put()方法
在这里插入图片描述
HashMap的key值是唯一的,由源码可以看出HashSet添加进去的值就是作为HashMap的key值,并且在HashMap中如果K/V相同时,会用新的V覆盖掉旧的V,然后返回旧的V,所以不会重复

转载地址:http://fmjmb.baihongyu.com/

你可能感兴趣的文章
从端到云——工业物联网项目全栈快速开发
查看>>
LoRa vs NB-IOT:哪个物联网标准更具优势?
查看>>
移动周刊第 205 期:Google 正式发布 ARCore 预览版、iOS 工程打包速度提升十倍的解决方案...
查看>>
八大 IoT 安全关键技术解析
查看>>
有钱 Python,没钱 PHP,编程语言也嫌贫爱富
查看>>
Docker是啥?容器变革的火花?
查看>>
假如从餐饮店的角度来看架构…
查看>>
这个充电宝太黑科技了,又小又不用自己带线,长见识了~
查看>>
HDC.2019后再发力,AppGallery Connect服务新升级
查看>>
网易云音乐热评的规律,44万条数据告诉你
查看>>
超神!GitHub 标星 5.5w,如何用 Python 实现所有算法?
查看>>
扛住100亿次请求——如何做一个“有把握”的春晚红包系统
查看>>
在北京看场雪为什么这么难?
查看>>
新年了,5G手机芯片,到底买谁?
查看>>
疫情之下「在家办公模式」开启,你该选择哪些远程协同工具?
查看>>
如何使用pdpipe与Pandas构建管道?
查看>>
远程办公的33种预测
查看>>
阿里巴巴架构师:十问业务中台和我的答案
查看>>
华为云发布三类六款计算实例 打造更强云端计算能力
查看>>
PHP 语言地位遭受挑战,PHP 程序员路在何方?
查看>>