import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
public class ComparableDemo {
public static void main(String[] args) {
Person p1=new Person();
Person p2=new Person();
Person p3=new Person();
p1.name="p1";
p1.age=18;
p2.name="p2";
p2.age=13;
p3.name="p3";
p3.age=20;
List list=new ArrayList();
list.add(p1);
list.add(p2);
list.add(p3);
Collections.sort(list);
Iterator iter=list.iterator();
while(iter.hasNext()){
System.out.println(iter.next());
}
// for(int i=0;i<list.size();i++){
// System.out.println(list.get(i));
//
//
// }
}
}
class Person implements Comparable<Person>{
String name;
int age;
@Override
public int compareTo(Person o) {
// TODO Auto-generated method stub
if(this.age>o.age){
return 1;
}else if(this.age==o.age){
return 0;
}
else{
return -1;
}
}
public String toString(){
return "{"+this.name+":"+this.age+"}";
}
}
//下面是Comparator
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class ComparatorDemo {
public static void main(String[] args) {
Stu stu1=new Stu();
Stu stu2=new Stu();
Stu stu3=new Stu();
stu1.name="stu1";
stu1.age=31;
stu2.name="stu2";
stu2.age=19;
stu3.name="stu3";
stu3.age=18;
List m=new ArrayList();
m.add(stu1);
m.add(stu2);
m.add(stu3);
Collections.sort(m, new Student());
for(int i=0;i<m.size();i++){
System.out.println(m.get(i));
}
}
}
class Stu{
String name;
int age;
@Override
public String toString() {
return "Stu [name=" + name + ", age=" + age + "]";
}
}
class Student implements Comparator<Stu>{
@Override
public int compare(Stu o1, Stu o2) {
// TODO Auto-generated method stub
if(o1.age>o2.age){
return 1;
}else if(o1.age==o2.age){
return 0;
}else{
return -1;
}
}
}