赞
踩
public class Person implements Comparable{ private final int id; private String name; private int age; public Person(int id,String name,int age){ this.id = id; this.name = name; this.age = age; } public int getId(){ return id; } public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setAge(int age){ this.age = age; } public int getAge(){ return age; } @Override public String toString(){ return "Id: " + id + "/tName: " + name + "/tAge: " + age; } @Override public int compareTo(Object o){ // 实现 Comparable 接口的抽象方法,定义排序规则 Person p = (Person)o; return this.id - p.id; // 升序排列,反之降序 } @Override public boolean equals(Object o){ //equals boolean flag = false; if(o instanceof Person){ if(this.id == ((Person)o).id) flag = true; } return false; } }
import java.util.TreeSet;import java.util.Iterator;public class TestComparable{ public static void main(String[] args) { TreeSet ts = new TreeSet(); ts.add(new Person(1003," 张三 ",15)); ts.add(new Person(1008," 李四 ",25)); ts.add(new Person(1015," 王五 ",73)); ts.add(new Person(1001," 赵六 ",49)); Iterator it = ts.iterator(); while(it.hasNext()){ Person employee = (Person)it.next(); System.out.println(employee); } }}
//需要排序的类的对象public class Person{ private final int id; private String name; private int age; public Person(int id,String name,int age){ this.id = id; this.name = name; this.age = age; } public int getId(){ return id; } public void setName(String name){ this.name = name; } public String getName(){ return name; } public void setAge(int age){ this.age = age; } public int getAge(){ return age; } @Override public String toString(){ return "Id: " + id + "/tName: " + name + "/tAge: " + age; } }//创建person类的比较器package ClassTest;import java.util.Comparator;public class PersonComparetor implements Comparator<Person>{ public int compare(Person o1, Person o2) {// return o1.getId()-o2.getId(); //升序 return o2.getId()-o1.getId(); //降序 }}//测试类public class TestComparable { public static void main(String[] args) { List<Person> ts=new ArrayList<Person>(); ts.add(new Person(1003," 张三 ",15)); ts.add(new Person(1008," 李四 ",25)); ts.add(new Person(1015," 王五 ",73)); ts.add(new Person(1001," 赵六 ",49)); PersonComparetor pc=new PersonComparetor(); Collections.sort(ts, pc); for(Person p:ts){ System.out.println(p); } }}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。