- List里面裝的對象是自定義的,重載這個對象的compareTo()方法,在這個方法中根據(jù)屬性A來判斷大小。
之后用Collections.sort()對你的list進行排序
- 容器內(nèi)元素實現(xiàn)Comparetor接口,Collections.sort()把它傳進去就可以了
- 將內(nèi)部對象繼承comparable接口,實現(xiàn)一個compareTo接口,調(diào)用java.util.Collections.sort()方法
- Collections.sort(fileList, new FileNodeComparator(form.getSortName(),form.isAsc()));
class FileNodeComparator implements Comparator{
private String sortName = "name";
private boolean isAsc = true;
FileNodeComparator(String sortName,boolean isAsc){
this.sortName = sortName;
this.isAsc = isAsc;
}
public int compare(Object arg0, Object arg1) {
。。。。。。。。
。。。。。。。。
。。。。。。。。
。。。。。。。。
}
}
- public class SortList {
public static void main(String args[]) {
String words[] = { "man", "Man", "Woman", "woman", "Manana", "manana", "ma?ana", "Ma?ana", "Mantra", "mantra",
"mantel", "Mantel" };
PrintStream out = System.out;
List list = new ArrayList(Arrays.asList(words));
out.println("傳入的list:");
out.println(list);
out.println();
Collections.sort(list);
out.println("默認的sorting:");
out.println(list);
out.println();
list = new ArrayList(Arrays.asList(words));
Comparator comp = Collections.reverseOrder();
Collections.sort(list, comp);
out.println("反向sorting:");
out.println(list);
out.println();
list = new ArrayList(Arrays.asList(words));
comp = new CollatorComparator();
Collections.sort(list, comp);
out.println("自定義排序sorting:");
out.println(list);
out.println();
list = new ArrayList(Arrays.asList(words));
comp = new CaseInsensitiveComparator();
Collections.sort(list, comp);
out.println("按照語種sorting:");
out.println(list);
out.println();
}
/**
#############################################################################
#
# @DESCRIBE 自定義的排序規(guī)則
# @author Administrator
#
#############################################################################
*/
public static class CaseInsensitiveComparator implements Comparator {
public int compare(Object element1, Object element2) {
String lower1 = element1.toString().toLowerCase();
String lower2 = element2.toString().toLowerCase();
return lower1.compareTo(lower2);
}
}
/**
#############################################################################
#
# @DESCRIBE 按照語種進行排序的規(guī)則
# @author Administrator
#
#############################################################################
*/
public static class CollatorComparator implements Comparator {
Collator collator = Collator.getInstance();
public int compare(Object element1, Object element2) {
CollationKey key1 = collator.getCollationKey(element1.toString());
CollationKey key2 = collator.getCollationKey(element2.toString());
return key1.compareTo(key2);
}
}
}
posted on 2008-05-30 16:47
藍山 閱讀(939)
評論(0) 編輯 收藏