



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空调工程考试题及答案
- 铸管退火工专项考核试卷及答案
- 快递设备运维师职业技能考核试卷及答案
- 烧结球团原料工应急处置考核试卷及答案
- 光纤套塑工突发故障应对考核试卷及答案
- 粉矿烧结工测试考核试卷及答案
- 碳五正异构分离装置操作工基础知识考核试卷及答案
- 今日律师考试题及答案
- 磨毛(绒)机挡车工标准化作业考核试卷及答案
- 钒氮合金工职业技能考核试卷及答案
- 中小学高级职称英语全英答辩题
- 新版教科版科学五年级上册全册课件
- 小学地方课程教案(全面完整版)
- 山西省家庭经济困难学生认定申请表
- 国家职业技能标准——城市轨道交通列车司机(2020版)
- 《社会学概论》全套课件-PPT
- 动力弹塑性分析滞回模型-迈达斯
- 驾驶员实用英语口语
- 小学六年级上册音乐-第1课《我的祖国》--湘教版(12张)ppt课件
- 脐疗-望脐知健康ppt课件
- 完整版陆河客家请神书
评论
0/150
提交评论