版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章 数据结构-Set,QQ:13987796tel飞,java中使用Set接口描述一个集合,集合Set是Collection的子接口,Set不允许其数据元素重复出现,也就是说在Set中每一个数据元素都是唯一的。Set接口定义的常用方法如下:,集合,示例:Set常用方法,HashSet通过Hash算法排布集合内的元素,所谓的Hash算法就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射。对于不同类型的信息,其散列值公式亦不完全相同。 当我们使用HashSet存储自定义类时,需要在自
2、定义类中重写equals和hashCode方法,主要原因是集合内不允许有重复的数据元素,在集合校验元素的有效性时(数据元素不可重复),需要调用equals和hashCode验证。,HashSet散列集合,HashSet在判断数据元素是否重复时,需要同时满足hashCode值 相同和equals方法返回真,示例:HashSet高级应用,首先创建数据元素类Student,用于存储到HashSet中,并重写equals方法和hashCode方法。,示例:HashSet高级应用,由于Student类重写了equals方法和hashCode方法,定义使用Student的成员变量code来判断元素是否重复
3、,所以下面的程序只会输出一个元素,即成员变量name值为Tom的Student。,TreeSet是一个有序集合,其元素按照升序排列,默认是按照自然顺序排列,也就是说TreeSet中的对象元素需要实现Comparable接口。TreeSet类中跟HashSet类一样也没有get()方法来获取指定位置的元素,所以也只能通过迭代器方法来获取。 TreeSet虽然是有序的,但是并没有具体的索引,当插入一个新的数据元素的时候,TreeSet中原有的数据元素可能需要重新排序,所以TreeSet插入和删除数据元素的效率较低。 当我们使用TreeSet存储自定义类时,需要在自定义类中重写compareTo方法,以提供比对形式,否在TreeSet不能对用户自定义的类型进行正确的树状排序。,TreeSet树集,示例:TreeSet高级应用,首先创建数据元素类Student,用于存储到TreeSet中,并重写compareTo方法。,示例:TreeSet高级应用,由于Student类重写了compareTo方法,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 催促客户订单确认催办函(4篇)
- 企业职工合规用工承诺书(6篇)
- 资产处置职责承诺书范文3篇
- 本人学习发展承诺书4篇
- 企业社会责任报告模板全领域
- 酒店管理专业学生客房服务标准操作指导书
- 2026年保险顾问AI 解决方案合同
- 2026年餐饮投放采购供应协议
- 2026年半导体合规新能源建设协议
- 2026年HR系统实施合同
- 水产动物育种学智慧树知到期末考试答案章节答案2024年上海海洋大学
- 儿科学第九版新生儿黄疸课件
- 成人气管切开拔管中国专家共识解读
- 儿童抑郁情绪自评量表(DSRSC)
- 裁剪验片记录表
- 域虎7汽车使用说明书
- LY/T 2986-2018流动沙地沙障设置技术规程
- 发展经济学 马工程课件 3.第三章 中国特色社会主义经济发展理论
- GB/T 28202-2020家具工业术语
- GB/T 12672-2009丙烯腈-丁二烯-苯乙烯(ABS)树脂
- 2023年煤矿安全生产管理人员考试题库
评论
0/150
提交评论