当前位置: 首页 > news >正文

Java-集合(开发的重点)

子接口:Set接口
(1) 特点:存储多个任意类型的对象,无序、无下标、元素 的内容不允许重复。
(2) 方法:继承于父接口 Collection 中的方法。
(3) 实现类:HashSet 【开发应用重点+面试重点】
 aga. 自定义类型的对象存储在HashSet中,如何保证 HashSet元素内容不重复?
i. 覆盖 hashCode方法
原则:必须保证相同内容的对象返回相同的哈希码值,为了提高效率,尽可能的做到,不同内容的
对象返回不同的哈希码值
覆盖准则:通常将所有的属性拼凑为一个 int 类型的结果进行返回。
案例: public int hashCode(){
return this.name.hashCode()+this.age.hashCode(); // age 包装类型
}
ii. 覆盖 equals方法
必须保证相同内容的对象返回true -> 拒绝添加到HashSet集合中。
b. HashSet保证元素不重复执行的原理:对象往HashSet集合中存储时,当前对象调用自身hashCode
法,获取哈希码值,从而获取对应存储下标,如果存储下标上没有存储任何元素,则当前对象直接存
储,但是如果存储下标上已经有存储了其他对象,则调用equals方法,进行比较对象的内容是否相
同,equals方法的结果为true,代表相同内容的对象,则HashSet集合拒绝添加,equals方法结果为
false,则代表内容不同的对象,则成功添加到HashSet集合中。
(4) 遍历方式:forEach(底层原理迭代器遍历)
(5) SortedSet:是 Set的子接口,无序、无下标、对元素内容进行排序。【了解】
a. 常用的实现类TreeSet
注意:如果自定类型的对象存储在TreeSet中,需要实现 java.lang.Comparable 接口,同时实现:
compareTo方法,方法中指定排序的规则。compareTo返回值结果如果为0,则TreeSet视为
相同内容的对象。(TreeSet去除重复内容的对象,利用compareTo返回值,结果为0,相同对
)
(6) LinkedHashSet:按照添加顺序进行集合元素存储,同时元素内容不允许重复。
注意:LinkedHashSet HashSet的子类,所以如果自定类型的对象存储在LinkedHashSet中,
为了保证元素内容不重复,则需要对象对应的类覆盖 hashCode方法 和 equals方法(要求
和 父类HashSet一致)
http://www.dtcms.com/a/513022.html

相关文章:

  • docker技术之container与docker介绍
  • 如何做外贸soho做网站网站开发html5技术
  • 外国人做的甲骨文网站做网站需要切图吗
  • Redis如何解决key冲突?
  • 解决 QML 中使用 Qt Charts 崩溃的三个关键步骤
  • 2025算力行业趋势下的4090云主机租赁方案
  • 一起做网站17沧州网站建设哪家好
  • 如何在百度提交网站莲湖免费做网站
  • 网站统计排名做装修网站价格
  • 基于 Redis 的布隆过滤器:高效的数据存在性检查
  • 【经典书籍】C++ Primer 第9章顺序容器精华讲解
  • 基于MATLAB的光学相干断层扫描图像处理与定量分析算法研究
  • 怎么做发卡网站购买网站app制作
  • 淘客做网站怎么备案手机上网站
  • 解决IAR编译路径空格报错
  • 【JUnit实战3_05】第三章:JUnit 的体系结构(上)
  • Oracle 打补丁指南
  • 蓝奥声智能插座:从“用电计量”到“设备健康预测”的跨越
  • 网站域名到期广东网站建站公司
  • 林地变化检测技术拆解:基于语义分割的双时相卫星影像比对实现方案
  • 网站建设明细报价表 xlsiis发布网站的教程
  • Vue3 大文件上传实战:切片上传 / 断点续传 / 秒传 / 暂停恢复 / 全局并发控制
  • Qt qmlplugindump浅谈
  • 网站后台登陆代码表白网站制作源码
  • 广告设计用到的软件福州网站seo优化公司
  • 微分运算电路(波形转换电路)
  • 阿里云网站目录建立网站得多少钱
  • (二)React开发环境搭建与目录结构分析(零基础友好)
  • wordpress取消评论审核南京seo公司教程
  • 时间敏感网络(TSN)