自定义对象数组的排序

来源:互联网 发布:淘宝老顾客拍有权重吗 编辑:程序博客网 时间:2024/05/16 09:37
 定义一个Student类,拥有两个属性,即姓名(String name)和年龄(int age),如果现在我声明了一个Student类的对象数组,那么,如何利用Arrays.sort()方法对这个自定义对象数组加以排序。

其实,很简单,只需要做到以下3点即可:

首先,让需要进行排序的自定义类,如Student,去实现Comparable 接口;

其次,重写Comparable接口唯一的方法:int compareTo(Object o) ;

最后,调用Arrays.sort()方法对自定义对象数组加以排序。

这里,我写了一个简单的程序加以说明,如下:

public class Test {public static void main(String[] args) {Student[] myStudent = new Student[] { new Student("zhangsan", 22),new Student("lisi", 24), new Student("wangwu", 22),new Student("zhaoliu", 23) };System.out.println("----------before sorted---------");for (Student e : myStudent)System.out.println(e);System.out.println("/n/n----------after  sorted---------");Arrays.sort(myStudent);for (Student e : myStudent)System.out.println(e);}}
class Student implements Comparable {    private String name;    private int age;     public Student(String name, int age) {       this.name = name;       this.age = age;    }     public String toString() {       return " Name:" + name + "/tage:" + age;    }     public int compareTo(Object o) {       Student s = (Student) o;       int result = age > s.age ? 1 : (age == s.age ? 0 : -1);       if (result == 0) {           result = name.compareTo(s.name);       }       return result;     } } 在此附上运行结果,以供参考,如下:----------before sorted--------- Name:zhangsan age:22 Name:lisi age:24 Name:wangwu  age:22 Name:zhaoliu age:23  ----------after  sorted--------- Name:wangwu  age:22 Name:zhangsan age:22 Name:zhaoliu age:23 Name:lisi age:24




 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 微信限90天提现转帐功能怎么办? 星巴克券过期了怎么办 京东买面膜发个空包怎么办 手机低于4.4版本怎么办才能恢复 263云通信密码忘了怎么办 有信电话拉黑了怎么办 微信手机充值冲错了怎么办 国通石油卡怎么办红卡 善融商城有假货怎么办 中百购物卡丢了怎么办 cncbk被骗25万该怎么办 中银e贷额度冻结怎么办 招行抵押贷循环额度怎么办 小额钱袋被拒了怎么办 银行需要提供消费贷款发票怎么办 中银e贷款逾期怎么办 按揭房不想要了怎么办 房贷不想还了怎么办 融e借没有u盾怎么办 窗式空调声音大怎么办 瑞得卡过期了怎么办 对公账号转错了怎么办 中银e令丢了怎么办 中银e贷到期了怎么办 招行信用卡附属卡怎么办 华普超市购物卡怎么办 公司发超市购物卡怎么办 物美购物卡丢了怎么办 淘宝买肯德基电子券留错号码怎么办 京东e卡过期了怎么办 京东e卡绑定错了怎么办 手机换号京东账号绑的银行卡怎么办 京东金条激活失败怎么办 京东买的k3不能激活怎么办 优购手机光黑屏怎么办 优购手机忘记手势密码怎么办 消费卡过期了钱怎么办 超市卡过期了钱怎么办 宜家购物卡的钱怎么办 武商购物卡过期怎么办 丹尼斯卡过期了怎么办