2012-08-08 132 views

回答

2

這裏是代碼example.for排序dateAdded。 由其他屬性分揀..你必須先決定你的criteria。 (什麼是字符串path1標準比path2更大)

public class MyComparableByDateAdded implements Comparator<fileOjb>{ 

    @Override 
    public int compare(fileOjb o1, fileOjb o2) { 
     return (o1.dateAdd>o2.dateAdd ? -1 : (o1.dateAdd==o2.dateAdd ? 0 : 1)); 
    } 
} 

Collections.sort(list, new MyComparableByDateAdded()); 
+0

THANKs,似乎工作! :) – 2012-08-08 18:15:58

7

你需要編寫自己的comparator和的調用Collections.sort(yourComparator)

例如:

class YourComparator implements Comparator<MyObj>{ 

    public int compare(MyObj o1, MyObj o2) { 
     return o1.getyourAtt() - o2.getyourAtt(); 
    } 

} 

NOTE: Cast o1 and 02 to your object type. 
EDIT: Based on Ted comment, update to generics, now don't need cast 
+0

但@thinksteep我該怎麼做,沒有一個代碼示例:) – 2012-08-08 18:07:06

+0

嗚。很好的編輯。 :) – 2012-08-08 18:07:36

+0

@Frank Sposaro [http://docs.oracle.com/javase/tutorial/collections/interfaces/order.html](http://docs.oracle.com/javase/tutorial/collections/interfaces/order。 html) – 2012-08-08 18:08:23

0

實現一個Comparator<fileObj>和排序使用Collections.sort(list, comparator)列表;方法

相關問題