外部比较器
2021/6/30 6:22:50
本文主要是介绍外部比较器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.创建比较规则的类,让此类实现Compare接口
2.重写compare(Object o1 ,Object o2);
3.在方法内制定比较规则
4.创建比较规则对象
5.该对象调用 比较方法 根据放回值 确定哪一个对象大
>0 :前一个对象 >后一个对象
<0 :前一个对象 <后一个对象
==0 :前一个对象 ==后一个对象
按照id比
第一步:创建比较规则的类,让此类实现Compare接口
第二步:重写compare(Object o1 ,Object o2);
第三步:在方法内制定比较规则
import java.util.Comparator; public class sortById implements Comparator { @Override public int compare(Object o1, Object o2) { Employee e1 = (Employee)o1; Employee e2 = (Employee)o2; return e1.id - e2.id; } }
第四步:创建比较规则对象
第五步:该对象调用 比较方法 根据放回值 确定哪一个对象大
public class Test { public static void main(String[] args) { Employee e1 = new Employee(1, "张三", 999.9); Employee e2 = new Employee(2,"李四",99.6); /*创建比较类对象*/ sortById sortById = new sortById(); int sort = sortById.compare(e1, e2); System.out.println(sort); } }
JavaBean对象:
public class Employee { int id; String name; double salary; public Employee() { } public Employee(int id, String name, double salary) { this.id = id; this.name = name; this.salary = salary; } @Override public String toString() { return "Person{" + "id=" + id + ", name='" + name + '\'' + ", salary=" + salary + '}'; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } }
数组工具类和外部比较器结合使用
按照id值进行排序
import java.util.Arrays; public class Test { public static void main(String[] args) { Employee e1 = new Employee(1,"张三",9999.9); Employee e2 = new Employee(6,"李四",9999.3); Employee e3 = new Employee(3,"王五",9999.3); Employee e4 = new Employee(4,"赵六",9999.9); Employee e5 = new Employee(2,"陈七",9999.8); Employee [] es = {e1,e2,e3,e4,e5}; /*创建比较类对象*/ sortById sortById = new sortById(); Arrays.sort(es, sortById); for (Employee ele :es){ System.out.println(ele); } } }
这篇关于外部比较器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)