Comparable实现自定义排序
来源:互联网 发布:挡土墙计算软件2016 编辑:程序博客网 时间:2024/06/04 19:10
public interface Comparable<T>
当需要对一个对象进行排序时,该对象应该实现Comparable接口,并实现其唯一的方法:
int compareTo(T o)
在该方法中定义自己的排序规则,当调用Arrays.
sort(Object[] a)方法时则回调compareTo()方法,并按照自己的规则对对象数组进行排序。
返回值及比较规则:
1、返回负值---->小于
2、返回零------>等于
3、返回正值---->大于
凡是能够排序的类都实现了Comparable接口
案例
package com.cc.cc;//定义一个类,并实现comparable接口 public class Worker implements Comparable<Worker> {private String name;private int age;private int salary;public Worker(String name, int age, int salary) {super();this.name = name;this.age = age;this.salary = salary;}public String getName() {return name;}public int getAge() {return age;}public int getSalary() {return salary;}/** * 实现Comparable接口的compareTo方法,在此方法中定义自己的比较规则 首先按工资有由低到高排序,当工资相同则按年龄由高到底排序 */@Overridepublic int compareTo(Worker other) {// TODO Auto-generated method stubif (this.salary < other.getSalary()) { // 工资小于其他人时返回负值return -1;} else if (this.salary > other.getSalary()) { // 工资大于其他人时返回正值return 1;} else { // 工资等于其他人时按照年龄再排序if (this.age < other.getAge()) {return 1;// 表示由高到低排序} else if (this.age >= other.getAge()) {return -1;}}return 0;}@Overridepublic String toString() {// TODO Auto-generated method stubreturn this.name + "\t" + this.age + "\t" + this.salary;}};测试
package com.cc.cc;import java.util.Arrays;public class Test {public static void main(String[] args) { // TODO Auto-generated method stub Worker [] workers = new Worker[5]; workers[0] = new Worker("test1",25,2000); workers[1] = new Worker("test2",24,2100); workers[2] = new Worker("test3",26,2100); workers[3] = new Worker("test4",27,2200); workers[4] = new Worker("test5",28,1900); //调用Arrays.sort()方法进行排序 Arrays.sort(workers); for(Worker w : workers){ System.out.println(w); } }}
阅读全文
0 0
- Comparable实现自定义排序
- Comparable接口实现自定义类排序
- Java自定义实现Comparable接口的类,实现多维排序
- Comparable接口实现自定义对象的排序功能
- Comparable实现对象排序
- 使用Comparable接口自定义排序
- java类自定义实现类排序实现(Comparable或者额外类实现Comparator)
- Comparable接口实现对象排序
- 接口Comparable实现List排序
- 对象排序,实现comparable接口
- Comparable接口实现数组排序
- 自定义数据排序(Comparable,Comparator)JAVA126
- Java使用Comparable接口自定义排序
- java自定义排序(Comparable与Comparator)
- 实现一个自定义字符串的排序 ,重写Comparable接口的练习!!
- 黑马程序员——TreeSet实现Comparable接口对自定义类排序
- 使用Comparable、Comparator接口实现对对象数组、List集合自定义排序
- Comparable实现排序功能,重写排序方法
- 有关机器学习每个人都应该了解的东西
- Java基础总结
- window安装uwsgi 遇到AttributeError: 'module' object has no attribute 'uname' 完美解决
- iOS 导航控制器小结
- swift水仙花数
- Comparable实现自定义排序
- 适配器
- 反射(reflect)的knowledge
- 自定义view实现圆形进度条
- scala
- 淘宝购物车功能的实现
- HDU 5933 ArcSoft's Office Rearrangement 贪心
- 异常捕获器
- A