学生自动排队实例(comparactor比较器)
来源:互联网 发布:淘宝怎么提高宝贝权重 编辑:程序博客网 时间:2024/06/05 06:19
本节实现了学生自动排队实例,comparactor比较器实现了比较的方法。
1.由于实现了比较器类,所以不需要实现Comparable接口。
2.实现Comparable接口的排序叫做自然排序,利用比较器类的排序叫做客户化排序
3.可以按需定制自己的compare方法。
StudentCom类
public class StudentCom {private String name;private int height;public StudentCom(){}public StudentCom(String name,int height){this.name=name;this.height=height;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getHeight() {return height;}public void setHeight(int height) {this.height = height;}public String toString(){return "姓名"+this.name+"身高为"+this.height;}public boolean equals(Object obj){if(obj instanceof StudentCom){StudentCom stu=(StudentCom)obj;if(this.name.equals(stu.name)&&this.height==stu.height){return true;}}return false;}public int hashCode(){return name.hashCode()^height;}}比较器类StudentComparactor
import java.util.Comparator;public class StudentComparactor implements Comparator<StudentCom> {public int compare(StudentCom stu1,StudentCom stu2){if(stu1.getName().compareTo(stu2.getName())>0){return 1;}elseif(stu1.getName().compareTo(stu2.getName())<0){return -1;}else{return stu1.getHeight()-stu2.getHeight();}//return 0;}}测试类main
import java.util.Iterator;import java.util.SortedSet;import java.util.TreeSet;public class main {public static void main(String[] args){SortedSet<StudentCom> set=new TreeSet<StudentCom>(new StudentComparactor());StudentCom a=new StudentCom("a",167);StudentCom b=new StudentCom("b",145);StudentCom c=new StudentCom("c",189);StudentCom d=new StudentCom("d",179);StudentCom e=new StudentCom("a",189);set.add(a);set.add(b);set.add(c);set.add(d);set.add(e);Iterator it=set.iterator();while(it.hasNext()){System.out.println(it.next());}}}运行结果:
0 0
- 学生自动排队实例(comparactor比较器)
- CCF 学生排队(Java)
- 学生排队
- 学生排队
- 学生排队
- 学生排队
- 学生排队
- CCF201703-2 学生排队(100分)
- CCF-20170302-学生排队(100分)
- 201703-2 学生排队
- CCF学生排队
- CCFCSP201703-2学生排队
- CCF学生排队
- (JAVA) 学生排队 -20170302
- CCF 学生排队
- CCF201703-2学生排队
- ccf学生排队
- ccf认证学生排队
- 每日一省之————二分查找法demo
- PAT乙级.1010. 一元多项式求导 (25)
- 汇编 二进制预算
- QT QString 很全的使用
- 这才是这个世界上求绝对值最快的方法,温故知新。
- 学生自动排队实例(comparactor比较器)
- Git 工作区、暂存区和版本库
- Mac 像Win一样双开Unity
- mxnet中im2rec.py的小问题
- jQuery源码解读一
- 计算机网络分类方法
- Integer to roman
- 56.View Exhibit1 and Exhibit2 to examine the current memory allocation and parameter settings, respe
- Qt---自带的数据库QSQLITE