我想调用Collections的sort方法按age排序指定比较器要怎么写啊 就是compare方法
先跪谢了
package com.coll; 
import java.util.*;
public class Test { public static void main(String[] args) {
List l=new ArrayList();
Tt t=new Tt();
Aa a=new Aa(1,4);
Aa a1=new Aa(3,3);
Aa a2=new Aa(2,2);
l.add(a);
l.add(a1);
l.add(a2);
Collections c = null;
     c.sort(l,t);
}}
class Aa {
int id; int age;
public Aa(int id,int age){
this.id=id;this.age=age;
}
public String toString(){
return id+age+"";
}
}
class Tt implements Comparator{ public int compare(Object o, Object o1) {
//这里该怎么写 才能无视 id按age排序

}}

解决方案 »

  1.   

    我一开始是放到TreeSet里 重写compareTo实现的  最后有人告诉我可以用
    Collections里的sort方法简单 求解怎么实现
    有大神吗、、
      

  2.   

    class Tt implements Comparator<Aa> {
      public int compare(Aa a, Aa b){
        return a.age - b.age;
      }
    }Comparator.compare
    Comparable.compareTo
    返回值类似:
    1 正数:左边对象应该排在右边对象的后面(Comparator.compare第一个参数为左,Comparable.compareTo的this为左,下同)
    2 零:左边和右边对象相同(谁先谁后顺序不变)
    3 负数:左边对象应该排在右边对象的前面
      

  3.   

    谢谢2楼 我就纠结这Object怎么提出来age呢原来是这样lass Tt implements Comparator<Aa> 
      

  4.   

    手工转的话castpublic int compare(Object o, Object o1) {
      Aa a = (Aa) o;
      ...
    }