List list=new ArrayList();
list.add(new Person("张三",24));
list.add(new Person("李四",27));
list.add(new Person("王五",18));
能对Person的年龄来排序来得到
list.add(new Person("王五",18));
list.add(new Person("张三",24));
list.add(new Person("李四",27));?
解决方案 »
- 地图专题
- struts DispatchAction 的应用
- 关于webservice
- cookie 客户端无法写入问题
- JSP 最佳实践:使用JSTL来更新JSP页面
- jsp中的传值问题,急救.在线等
- 关于createStatement方法导致tomcat自动关闭问题
- ResultSet对象的first()方法还有absolute()都不能用,是什么问题
- 用JSP 或 JAVA 实现删除整个目录是怎么实现的
- 支付宝支付demo
- String literal is not properly closed by a double-quote .如何解决
- 在java class中 如何获取这个参数值?
import java.util.*;
public class TestList{
public static void main(String args[]){
List<Person> list=new ArrayList<Person>();
list.add(new Person("张三",24));
list.add(new Person("李四",27));
list.add(new Person("王五",18));
Collections.sort(list);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}
class Person implements Comparable<Person>{
private String name;
private int age;
public Person(String name,int age){
this.name=name;
this.age=age;
}
public int compareTo(Person p){
return age-p.age;
}
public String toString(){
return name+","+age;
}
}
这是第二种做法:
import java.util.*;
public class TestList{
public static void main(String args[]){
List<Person> list=new ArrayList<Person>();
list.add(new Person("张三",24));
list.add(new Person("李四",27));
list.add(new Person("王五",18));
MyComparator mc=new MyComparator();
Collections.sort(list,mc);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}
class Person {
private String name;
private int age;
public Person(String name,int age){
this.name=name;
this.age=age;
}
public String toString(){
return name+","+age;
}
public int getAge(){
return this.age;
}
}
class MyComparator implements Comparator<Person>{
public int compare(Person p1,Person p2){
return p1.getAge()-p2.getAge();
}
}