对LIST内元素排序问题
我现在有一个list,每条数据有2列(月,年),比如[[9,2006],[10,2006],[5,2006],[9,2008]],要求是最终排序成[[5,2006],[9,2006],[10,2006],[9,2008]],就是先按年排,再按月排。
如何实现?目前我用的是Collections.sort(list, comparator)这个方法,但是,现在只能实现按年排列,请高手指点,如何在实现年排列的情况下再按月排列。我的代码如下:
List list = new ArrayList();
//list2中的数据就是月和年
list.add(list2);
Comparator comparator = new ColumnsComparator();
Collections.sort(listMois, comparator);
class ColumnsComparator implements Comparator {
   public int compare(Object o1, Object o2){
     List list1 = (List)o1;
     List list2 = (List)o2;
     //list1.get(1)是年列,list1.get(0)是月列
     Integer num1 = (Integer)list1.get(1);
     Integer num2 = (Integer)list2.get(1);
     return num1.compareTo(num2);
   }
}
我现在只能实现按年排列,不知道如何同时再按月排列?
------解决方案--------------------class ColumnsComparator implements Comparator {  
 public int compare(Object o1, Object o2){  
   List list1 = (List)o1;  
   List list2 = (List)o2;  
   //list1.get(1)是年列,list1.get(0)是月列  
   Integer num1 = (Integer)list1.get(1);  
   Integer num2 = (Integer)list2.get(1);  
   if  (num1.compareTo(num2)==0){//如何年相等相等,就比较月份
      num1 = (Integer)list1.get(0);  
     num2 = (Integer)list2.get(0);
    }  
   return num1.compareTo(num2);  
 }  
}