static void sort(List list) Sorts the specified list into ascending order, according to the natural ordering of its elements. static void sort(List list, Comparator c) Sorts the specified list according to the order induced by the specified comparator.
Sorts the specified list into ascending order, according to the natural ordering of its elements.
static void sort(List list, Comparator c)
Sorts the specified list according to the order induced by the specified comparator.
我自己写了冒泡 感觉不好
void sortVector(){
int i,j;
for(i=0;i<v.size()-1;i++){
for(j=0;j<v.size()-i-1;j++){
if(((String)v.get(j)).compareTo((String)v.get(j+1))<0){
String strLine = (String)v.get(j);
v.setElementAt((String)v.get(j+1),j);
v.setElementAt(strLine,j+1);
}
}
}
}
不过用Collections.sort 排序后是升序 那降序怎么用
list.add(...);
...
Comparator comp = Collections.reverseOrder();
Collections.sort(list, comp);
System.out.println(list);
Collections.reverseOrder();
原来是有的,以前还自己重新写了一个Comparator
public class Vector extends AbstractList
implements List, RandomAccess, Cloneable, java.io.Serializable具体代码参考一下
//: c11:DirList.java
// Displays directory listing.
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
package org.luyang.collections;import java.util.Collections;
import java.util.Comparator;
import java.util.Vector;public class Sort {
public static String sort1 = "BIG_TO_SMALL"; public static String sort2 = "SMALL_TO_BIG"; public static void main(String[] args) { Vector vec = new Vector();
vec.add("2");
vec.add("3");
vec.add("1");
Collections.sort(vec, new AlphabeticComparator1(sort1));
for (int i = 0; i < vec.size(); i++) {
System.out.println(vec.get(i));
}
}
}class AlphabeticComparator1 implements Comparator {
String sort = null; public AlphabeticComparator1(String sort) {
this.sort = sort;
} public int compare(Object o1, Object o2) {
String s1 = (String) o1;
String s2 = (String) o2;
if ("SMALL_TO_BIG".equalsIgnoreCase(sort)) {
return s1.toLowerCase().compareTo(s2.toLowerCase());
} else {
return s1.toLowerCase().compareTo(s2.toLowerCase()) * -1;
}
}
}