搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
人工智能uu
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
网络流量分析对HTTP状态码监测分析_护网怎么通过状态码去做研判,哪些状态码是需要 研判的
2
【内网穿透】如何本地搭建Whisper语音识别模型并配置公网地址
3
YOLO标注工具(适用于YOLO-OBB,可画旋转框)——JieLabel(自带训练和识别工具)
4
3dMax建筑demo制作_3d建模demo
5
Windows10安全中心图标的关闭方法,小白也能看明白_win10关闭安全中心
6
FastAPI - 安全认证8_fastapi加密
7
win10 安装office 2016 plus 备忘_office2016 能用officeplus
8
vi 编辑器快捷生成 main 函数和基本框架_vi编译器设置c语言man函数快捷方式
9
SQL注入攻击的原理以及如何防止SQL注入_sql注入攻击的原理是什么?
10
学习ArcGIS Maps SDK for Kotlin(200)系列 001-初识ArcGIS Maps SDK for Kotlin_openland grass
当前位置:
article
> 正文
HashSet,TreeSet和LinkedHashSet的区别_hashset,linkedhashset、treeset
作者:人工智能uu | 2024-07-27 10:42:07
赞
踩
hashset,linkedhashset、treeset
Set接口
Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。
Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不 会接受这两个对象。
HashSet
HashSet有以下特点
不能保证元素的排列顺序,顺序有可能发生变化
不是同步的
集合元素可以是null,但只能放入一个null
当向HashSet结合中存入一个元素时,HashSet会调用该对象的hashCode()方法来得到该对象的hashCode值,然后根据 hashCode值来决定该对象在HashSet中存储位置。
简单的说,HashSet集合判断两个元素相等的标准是两个对象通过equals方法比较相等,并且两个对象的hashCode()方法返回值相 等
注意,如果要把一个对象放入HashSet中,重写该对象对应类的equals方法,也应该重写其hashCode()方法。其规则是如果两个对 象通过equals方法比较返回true时,其hashCode也应该相同。另外,对象中用作equals比较标准的属性,都应该用来计算 hashCode的值。
LinkedHashSet
LinkedHashSet集合同样是根据元素的hashCode值来决定元素的存储位置,但是它同时使用链表维护元素的次序。这样使得元素看起 来像是以插入顺序保存的,也就是说,当遍历该集合时候,LinkedHashSet将会以元素的添加顺序访问集合的元素。
LinkedHashSet在迭代访问Set中的全部元素时,性能比HashSet好,但是插入时性能稍微逊色于HashSet。
TreeSet类
TreeSet是SortedSet接口的唯一实现类,TreeSet可以确保集合元素处于排序状态。TreeSet支持两种排序方式,自然排序 和定制排序,其中自然排序为默认的排序方式。向TreeSet中加入的应该是同一个类的对象。
TreeSet判断两个对象不相等的方式是两个对象通过equals方法返回false,或者通过CompareTo方法比较没有返回0
自然排序
自然排序使用要排序元素的CompareTo(Object obj)方法来比较元素之间大小关系,然后将元素按照升序排列。
Java提供了一个Comparable接口,该接口里定义了一个compareTo(Object obj)方法,该方法返回一个整数值,实现了该接口的对象就可以比较大小。
obj1.compareTo(obj2)方法如果返回0,则说明被比较的两个对象相等,如果返回一个正数,则表明obj1大于obj2,如果是 负数,则表明obj1小于obj2。
如果我们将两个对象的equals方法总是返回true,则这两个对象的compareTo方法返回应该返回0
定制排序
自然排序是根据集合元素的大小,以升序排列,如果要定制排序,应该使用Comparator接口,实现 int compare(T o1,T o2)方法
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/人工智能uu/article/detail/889869
推荐阅读
article
git
—
版本
控制工具_
git
版本
管理工具
...
分支管理
git
branch
git
merge
git
rebase等命令用于管理和操作分支。标签管理
git
tag命令用...
赞
踩
article
杭电
数字电路
课程设计
——移位
寄存器
_双向移位
寄存器
verilog
...
杭电
数字电路
课程设计
——移位
寄存器
双向移位
寄存器
verilog
...
赞
踩
article
中南大学
2021
计算机
专硕
复试
分数线
,
2021
年
中南大学
研究生
录取
分数线
是多少...
2021
年考研成绩已经陆续发布,考研
分数线
备受各位考生关注,其中34所自划线院校
复试
分数线
是考生关注和参考的重点,为帮助...
赞
踩
article
Debug
和
Release
有什么区别_
debugedit
...
Debug
通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。
Release
称为发布版本,它往往是进...
赞
踩
article
小程序中
使用
web
-
view
,在h5中
使用
jssdk
获取位置_wx
web
view
jssdk
获取位...
具体请参考微信官方文档
jssdk
使用
文档前期需要一系列的配置,请参照官方文档前端
使用
步骤 //
使用
jssdk
use...
赞
踩
article
el
ement
puls
的
s
el
ect
下拉
选择
加
Tree
V2
虚拟化
树形控件实现简易
下拉
选择
,替代...
el
ement
puls
的
s
el
ect
下拉
选择
加
Tree
V2
虚拟化
树形控件实现简易
下拉
选择
前言在
vue3
+types...
赞
踩
article
计算机
毕业设计
:基于
python
音乐
推荐系统+深度学习+爬虫
可视化
+
LSTM
算法_
python
可视化
...
计算机
毕业设计
:基于
python
音乐
推荐系统+深度学习+爬虫
可视化
+
LSTM
算法_
python
可视化
大屏展示
音乐
项目
制作...
赞
踩
article
git
pull
更新
的
是哪些内容_
git
pull
origin
dev
的
代码
更新
范围...
之后,
更新
的
是本地主分支
的
内容,它并不会
更新
我们自己
的
工作分支,所以确切
的
做法是,在
pull
完成之后,需要基于此新建分支...
赞
踩
article
SQLMap
安装
教程_
sqlmap
下载...
注意:在python3环境下
安装
sqlmap
的时候会提示需要在python2的环境下才能
安装
,其实在python3.6以...
赞
踩
article
Android
视图
“挖孔”研究
_
android
绘制
view
挖空...
本文来看看如何在
视图
上挖一个孔,让
视图
层下层的
视图
可以展示出来。核心方法clipRect(@NonNull RectF ...
赞
踩
article
STM32
智能
健康
监测
系统
教程_基于
stm32
的人体
健康
监测
系统
设计与
实现
...
本教程详细介绍了如何在
STM32
嵌入式
系统
中
实现
智能
健康
监测
系统
,从硬件选择、软件
实现
到
系统
配置和应用场景都进行了全面的...
赞
踩
article
百度
暑期
实习
二面
&三面...
二面
也是电话面试。一上来,面试官问我有没有
百度
暑期
实习
二面
&三面 版权声明:原创作品,允...
赞
踩
article
全球
“
微软
蓝屏
”事件引发的
网络安全
与
系统
稳定性
思考...
全球
“
微软
蓝屏
”事件再次提醒我们,
网络安全
和
系统
稳定性
是现代社会运作的基石。面对日益复杂的网络环境和多样化的攻击手段,我...
赞
踩
article
猫头
虎
推荐
20
个值得
体验
的
通用
大
模型
...
今天我们探讨的
20
个
通用
大
模型
,涵盖了从智能问答到社交互动再到自定义AI解决方案的方方面面。这些大
模型
不仅功能强大,而且...
赞
踩
article
neo4j
的
详细
安装
教程
_
宝塔
neo4j
...
1.
安装
jdk1.1下载jdk注意下载jdk
的
版本不要太高,也不要太低,我是下载
的
jdk11,之前下载了17太高了,后续...
赞
踩
article
vue
中
获取
获取
当前
城市
地址
_
微信
小程序
获取
当前
位置
和城市名...
1,
获取
当前
地理
位置
,首先要拿到用户的授权wx.openSetting;2,
微信
的getLocation接口,
获取
当前
...
赞
踩
article
Edge
页面无
标签
/空白
_
edge
不
显示
标签
页了...
edge
无页面
_
edge
不
显示
标签
页了
edge
不
显示
标签
页了 问题: ...
赞
踩
article
MYSQL
问题
解决方案
:安装过程
中
无法
start
service
...
...
在my.ini
中
[mysqld]加入以下配置项:tmpdir=d:\mysqltemp(目录可自己确定),并且确定该目录...
赞
踩
article
最全【
目标
跟踪】多
目标
跟踪
sort
(
python
代码
)
_
sort
的
航迹标识(
1
),阿里社招p7面...
dets[:, 2:4] += dets[:, 0:2] # [x
1
,y
1
,w,h] to [x
1
,y
1
,x2,y2] ...
赞
踩
article
“AI
Earth
”
人工智能
创新
挑战赛
:
助力精准气象和海洋预测
Baseline
[3]
:
TCNN
+RN...
【机器学习入门与实践】入门必看系列,含数据挖掘项目实战
:
模型
融合
、
特征优化
、
特征降维
、
探索性分析等,实战带你掌握机器学习...
赞
踩
相关标签
git
fpga开发
单片机
嵌入式硬件
中南大学2021计算机专硕复试分数线
编译器
前端
typescript
vue3
深度学习
课程设计
python
爬虫
flask
安全性测试
android
stm32
百度
面试
电话面试
microsoft
web安全
安全
AIGC
agi