java对象排序Comparable
/** * Person.java * testComparable * Copyright (c) 2018, IT版权所有. * @author IT_BULL */ package testComparable; import java.util.jar.Attributes.Name; /** * 对象比较器 */ public class Person implements Comparable<Person> { private String name; private int age; private int score; public Person() { super(); } public Person(String name, int age, int score) { super(); this.name = name; this.age = age; this.score = score; } @Override public int compareTo(Person o) { if(this.age > o.age) { return 1; } if(this.age < o.age) { return -1; } if(this.score > o.score) { return 1; } if(this.score < o.score) { return -1; }else { return 0; } } @Override public String toString() { return "Person [name=" + name + ", age=" + age + ", score=" + score + "]"; } }
/** * TestPerson.java * testComparable * Copyright (c) 2018, IT版权所有. * @author IT_BULL */ package testComparable; import java.util.ArrayList; import java.util.Collections; /** * 测试比较器 */ public class TestPerson { public static void main(String[] args) { ArrayList<Person> pList = new ArrayList<>(); pList.add(new Person("张三",10,80)); pList.add(new Person("李四",10,70)); pList.add(new Person("王五",12,60)); pList.add(new Person("赵六",8,100)); System.out.println("排序前:"+pList); Collections.sort(pList); System.out.println("排序后:"+pList); } }
测试结果:
排序前:[Person [name=张三, age=10, score=80], Person [name=李四, age=10, score=70], Person [name=王五, age=12, score=60], Person [name=赵六, age=8, score=100]]
排序后:[Person [name=赵六, age=8, score=100], Person [name=李四, age=10, score=70], Person [name=张三, age=10, score=80], Person [name=王五, age=12, score=60]]
传播知识,分享快乐!
作者:IT_BULL
出处:http://www.cnblogs.com/itBulls/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
博客园-博客园。