OrganComparator.java
public class OrganComparator implements Comparator {
public int compare(Object o1, Object o2) {
Map m = new HashMap();
m.put("ORGANH001","4");
m.put("ORGANH002","2");
m.put("ORGANH003","15");
m.put("ORGANH004","5");
m.put("ORGANH005","3");
String seq1=(String)m.get(o1);
String seq2=(String)m.get(o2);
if(Integer.parseInt(seq1)>Integer.parseInt(seq2))return -1;
else if(Integer.parseInt(seq1)<Integer.parseInt(seq2))return 1;
else return 0;
}
}
Test.java
public class Test {
public static void main(String args[]){
List list = new ArrayList();
list.add("ORGANH001");
list.add("ORGANH002");
list.add("ORGANH003");
list.add("ORGANH004");
list.add("ORGANH005");
List tmp = new ArrayList(list);
Comparator comp =new OrganComparator();
Collections.sort(tmp,comp);
System.out.println("排序前list顺序:"+list);
System.out.println("排序后list顺序:"+tmp);
}
}
不过对于数据量比较大的情况,建议不要如此使用!