java教程笔记13--比较器(Comparable、Comparator).doc

java教程笔记13--比较器(Comparable、Comparator).doc

ID:62033510

大小:28.50 KB

页数:8页

时间:2021-04-15

java教程笔记13--比较器(Comparable、Comparator).doc_第1页
java教程笔记13--比较器(Comparable、Comparator).doc_第2页
java教程笔记13--比较器(Comparable、Comparator).doc_第3页
java教程笔记13--比较器(Comparable、Comparator).doc_第4页
java教程笔记13--比较器(Comparable、Comparator).doc_第5页
资源描述:

《java教程笔记13--比较器(Comparable、Comparator).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、java学习笔记13--比较器(Comparable、Comparator)Comparable接口的作用之前Arrays类中存在sort()方法,此方法可以直接对对象数组进行排序。 Comparable接口可以直接使用java。util.Arrays类进行数组的排序操作,但对象所在的类必须实现Comparable接口,用于指定排序接口。Comparable接口的定义如下:public interface Comparable

2、种:1:表示大于-1:表示小于0:表示相等 要求:定义一个学生类,里面有姓名,年龄,成绩三个属性,要求按成绩由高到低排序,如果成绩相等,则按照年龄由低到高排序.packagecom.itmyhome;import java.util。Arrays;class Studentimplements Comparable<Student〉{privateStringname;privateintage;privatefloatscore;publicStudent(Stringname,int age,floatscore){ﻩthis.name=name;this

3、.age=age;ﻩthis。score= score;}@Overridepublic int compareTo(Studentstu){//覆写compareTo方法实现排序规则的应用ﻩﻩif(this.score>stu。score){ﻩﻩreturn-1;ﻩﻩ}elseif(this.score<stu.score){ﻩﻩreturn1;ﻩﻩ}else{ﻩﻩif(this.age〉stu.age){ﻩreturn 1;ﻩﻩ}elseif(this.age

4、34*157*810   在这群里获得更多java知识publicStringtoString(){ﻩﻩreturn”姓名:"+this。name+",年龄:"+this。age+", 成绩:"+this.score;ﻩ}ﻩpublicString getName(){returnname;}publicvoid setName(Stringname){this。name=name;}publicintgetAge(){ﻩﻩreturn age;}ﻩpublicvoid setAge(intage) {ﻩthis.age =age;}public floatg

5、etScore(){returnscore;}ﻩpublicvoidsetScore(floatscore){ﻩﻩthis.score= score;ﻩ}ﻩ}public class T{ﻩpublicstaticvoid main(String[]args)throws Exception{ﻩStudentstu[]={newStudent(”张三",22,80f)ﻩ,new Student(”李四”,23,83f)ﻩﻩﻩﻩ,newStudent("王五",21,80f)};ﻩArrays.sort(stu);//进行排序操作ﻩfor (int i= 0;i

6、< stu.length;i++){ﻩStudents= stu[i];ﻩSystem。out。println(s);ﻩ}}}分析比较器的排序原理实际上比较器的操作,就是经常听到的二叉树的排序算法.排序的基本原理:使用第一个元素作为根节点,之后如果后面的内容比根节点小,则放在左子树,如果内容比根节点的内容要大,则放在右子树。packagecom。itmyhome;classBinaryTree{ﻩclassNode{ //声明一个节点类ﻩﻩprivate Comparabledata; //保存具体的内容ﻩﻩprivateNodeleft;//保存左子树pri

7、vateNoderight;//保存右子树ﻩﻩpublicNode(Comparabledata){ﻩﻩﻩthis.data=data;ﻩ}ﻩpublicvoidaddNode(Node newNode){ﻩ// 确定是放在左子树还是右子树if(newNode。data。compareTo(this.data)<0) {//内容小,放在左子树ﻩﻩﻩif(this.left ==null) {ﻩﻩﻩthis.left=newNode;// 直接将新的节点设置成左子树ﻩﻩﻩ}else{ﻩﻩﻩthis。left.addNode(newNode); //继续向下判断ﻩ

8、ﻩﻩ}ﻩﻩ}ﻩﻩif (newNode

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。