



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用TreeSet集合存入自定义对象Person,判定重复元素,以及排序的原理新建TreeSet集合TreeSet ts = new TreeSet();描述Person类,该类实现了Comparable接口,重写了compareTo方法,所以Person对象具备了比较性,主要比较条件是按照年龄比较,如果年龄相同再比较次要条件(姓名)如果年龄和姓名一致就return 0 也就是意味着是同一个人。新建Person对象。并加入TreeSet集合中。Person p1 = new Person(jack, 20);Person p3 = new Person(rose, 18);Person p4 = new Person(lucy, 17);Person p5 = new Person(hmm, 16);Person p2 = new Person(jack, 20);ts.add(p1);ts.add(p3);ts.add(p4);ts.add(p5);ts.add(p2);自定义元素人class Person implements Comparable private String name;private int age;Person() public Person(String name, int age) = name;this.age = age;public String getName() return name;public void setName(String name) = name;public int getAge() return age;public void setAge(int age) this.age = age;Overridepublic int hashCode() return .hashCode() + age * 37;Overridepublic boolean equals(Object obj) if (obj instanceof Person) Person p = (Person) obj;return .equals() & this.age = p.age; else return false;Overridepublic String toString() return Personname: + + age: + this.age;Overridepublic int compareTo(Person p) System.out.println(this + -compareTo- + p);if (this.age p.age) return 1; else if (this.age p.age) return -1;return pareTo();第一次集合中存入p1 年龄是20 第一个元素,不用比较。第二次集合中存入p3年龄是18,p3和p1 进行compareTo方法调用,此时就是p3. compareTo(p1) ,就是p3对象的和p1对象进行比较,p3对象的年龄18p1对象的年龄20,那么compareTo方法返回-1 ,将18排在20的左边。第三次集合中存入p4 年龄是17,集合中已有两个元素p1 和p3, 那么p4就逐一和p1,p3进行比较,当然是p4. compareTo(p1),发现p4.age(17)p1.age(20),就往树的左边放,此时树的左边已经存放了p3。那么p4,就和p3进行了一次比较。p4. compareTo(p3),发现p4.age(17)p3.age(18) ,那么p4就只能在p3的左边。此时树的结构也进行调整,因为出现了新的中间值,所以将p3放在了树的中间(即18)。第四次存入了p5对象,p5也就和p3(18)比较,如果比p3大往右边挪,小往左边挪
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西安理工大学《新时代高校劳动教育通论》2023-2024学年第二学期期末试卷
- 南京理工大学《乒乓球教学》2023-2024学年第二学期期末试卷
- 吉首大学张家界学院《声乐一》2023-2024学年第二学期期末试卷
- 滁州职业技术学院《民间美术图形创新设计》2023-2024学年第二学期期末试卷
- 桂林医学院《软件设计模式与体系结构(双语)》2023-2024学年第二学期期末试卷
- 社区服务中心设计
- 小学科学实验室安全教育
- 2024年水电站计算机监控装置项目资金筹措计划书代可行性研究报告
- 相关管理规定制度的教育
- 新生儿肺炎护理
- 智能监测与控制系统-深度研究
- 水利施工超标准洪水应急预案
- 《自动瓷砖切割机的结构设计》12000字(论文)
- 海上丝绸之路(浙江海洋大学)学习通测试及答案
- 皮带机安全培训课件
- ISO 27040-2015 信息技术安全技术存储安全管理手册程序文件制度文件表单一整套
- 【MOOC】游戏开发程序设计基础-中国传媒大学 中国大学慕课MOOC答案
- 【MOOC】葡萄酒文化与鉴赏-西北工业大学 中国大学慕课MOOC答案
- 【MOOC】百年歌声-中国流行音乐鉴赏-中国矿业大学 中国大学慕课MOOC答案
- 2024年同等学力人员申请硕士学位英语试卷与参考答案
- 【MOOC】3D工程图学应用与提高-华中科技大学 中国大学慕课MOOC答案
评论
0/150
提交评论