搜索
查看
编辑修改
首页
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
转正申请范文_java工程师 转正申请csdn
2
【WebForms王者归来】在 ASP.NET Core 中运行 WebForms 业务代码,99%相似度!
3
startActivityForResult()方法被弃用_startactivityforresult弃用怎么解决
4
一文读懂|Apollo自动驾驶平台9.0全面解读_apollo 9
5
程序员需要达到什么水平才能顺利拿到 20k 无压力?_20几k
6
计算机网络(2
7
【Python日志模块全面指南】:记录每一行代码的呼吸,掌握应用程序的脉搏_python 日志 分析
8
js数组常用方法_map((item)
9
去中心化技术的变革力量:探索Web3的潜力
10
mysql乘法函数_数据库入门(MySQL):mySQL运算符与mySQL常用函数
当前位置:
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
一文搞懂
NLP
自然语言
处理
_
自然语言
处理
nlp
...
自然语言
处理
是计算机科学、人工智能和语言学的交叉领域,它致力于研究如何通过计算机
处理
和分析人类
自然语言
,使计算机能够理解...
赞
踩
article
在
Ubuntu
16.04
.3 LTS上运行
go
install
出错
的
问题_
ubuntu
安装
go
...
1.我在.
go
文件
的
当前目录下面运行
go
install
出现下面
的
错误:
go
install
hello.
go
go
in...
赞
踩
article
苹果
公司
开发者
账号
申请流程_
苹果
开发者
账号
...
在等待审核过程中会收到一封邮件(如果一直收不到邮件,一定要联系客服说明情况。点击邮件中的 “通过我们的网站联系我们”,客...
赞
踩
article
YOLOV5
打开
摄像头
错误:
TypeError
:
argument
of
type
‘int‘ i...
问题描述 parser.add_
argument
('--source',
type
=str, default='0', ...
赞
踩
article
“AI
Earth
”
人工智能
创新
挑战赛
:
助力精准气象和海洋预测
Baseline
[3]
:
TCNN
+RN...
【机器学习入门与实践】入门必看系列,含数据挖掘项目实战
:
模型
融合
、
特征优化
、
特征降维
、
探索性分析等,实战带你掌握机器学习...
赞
踩
article
Android
Lottie
动画
使用_lottieanimationview...
本文详细介绍了如何在AdobeAfterEffects中安装Bodymovin插件,将
动画
导出为JSON格式,并在Lot...
赞
踩
article
A*
算法
,
按步骤图解
,
学习记录_
a
*
算法
open
表
详细
叙述...
A*
算法
,
按步骤图解
,
从代码的思维进行图示表达。_
a
*
算法
open
表
详细
叙述
a
*
算法
open
表
详细
叙述 ...
赞
踩
article
Sentinel
入门
与实战...
流量控制是指对系统中的请求流量进行限制和管理,以确保系统在承受能力范围内正常运行。熔断是一种在分布式系统中处理故障和异常...
赞
踩
article
CodeWave
智能
开发
平台
--
02
--
目标:文档快速阅读
--
02
新手入门
_网易数帆轻舟低
代码
平台
里...
本文是网易数帆
CodeWave
智能
开发
平台
系列的第03篇,主要介绍了基于
CodeWave
平台
文档的
新手入门
进行学习,并对...
赞
踩
article
支持
可视化
呈现
数据
库
字段级和
血缘关系
的
工具
,太强了吧!_
数据
血缘关系
图
工具
...
SQLFlow 可跟踪超过 20 种主要
数据
库
(包括 Snowflake、Hive、SparkSQL、Teradata、...
赞
踩
article
【
无人机
协同
车辆】基于
停靠点
的
NIA
算法
(
NIA
S
)单
卡车
协同
单
无人机
多
客户
外卖配送
路径
规划
(目标函...
文章探讨了使用智能优化
算法
解决
卡车
与
无人机
协同
配送的问题,涉及
路径
规划
、时序约束和负载限制,目标是通过最小化最后一个
客户
...
赞
踩
article
Spring
项目
集成
Sentinel
,
自定义
BlockException
异常
返回
值_
sentinel
...
springmvc
项目
中集成
sentinel
,通过
sentinel
提供的控制台配置限流、熔断等规则,
项目
实现UrlBlo...
赞
踩
article
路径
规划
算法
_考虑
实时
路况
反馈的
动态
路径
规划
算法
研究...
摘 要:针对现有的
路径
规划
算法
在应对突发事件人员车辆疏散过程中没有考虑
实时
交通拥堵
路况
反馈因素,降低了疏散
路径
方案的有效...
赞
踩
article
Jetson
系列(十八)
soundfile
_
离线
安装
soundfile
...
问题:install for cffi ... error解决方式:一、必须的组件sudo apt-get instal...
赞
踩
article
「
兔
了
个
兔
」玉
兔
踏青
,
纯
CSS
实现瑞
兔
日历
(附源码)_
css
画
兔
子...
各位小伙伴们大家好呀!今天给大家带来的是一款可爱
兔
兔
的纯
CSS
日历
,
希望大家喜欢!让我们一起用
日历
记录下今天的日子!_c...
赞
踩
article
SpringCloud
Eureka
的使用_
spring
eureka
使用...
SpringCloud
Eureka
的使用一、
Eureka
简介
Eureka
是Netflix开发的服务发现框架,本身是一个...
赞
踩
article
【宠粉赠书】
SQLServer2022
:
从
入门
到
精通
_
sqlserver2022
教材...
为了回馈粉丝们的厚爱,今天小智给大家送上一套数据库学习的必备书籍——《SQL Server 2022
从
入门
到
精通
》。下面...
赞
踩
article
搞IT
的
应届生
如何
写
好
简历
?_
开发
应届生
怎么
写
工作
简历
...
本人在互联网大厂和外企做过技术面试官,也有过校招和招聘应届毕业生
的
经验,所以自认为在这个问题上有一定
的
发言权。应届毕业生...
赞
踩
article
写
saas
创业
的
书_我在
SaaS
创业
公司担任
UX
设计师
的
第一个月中学到
的
三件事...
写
saas
创业
的
书I recently transitioned from being a copywriter at ...
赞
踩
article
Java
|
Leetcode
Java
题
解之第
275
题
H
指数
II...
Java
|
Leetcode
Java
题
解之第
275
题
H
指数
II
Java
|
Leetcode
Java
题
解之第
275
...
赞
踩
相关标签
自然语言处理
人工智能
NLP
go
苹果
开发者账号
python
机器学习
数据挖掘
数学建模
深度学习
android
算法
自动驾驶
数据分析
sentinel
CodeWave
低代码
java
无人机
matlab
开发语言
路径规划算法
css