1. 程式人生 > >對List進行排序

對List進行排序


/**
 * 對List<Map>進行排序
 */
private List<Map<String, Object>> OrderBytoList(List<Map<String, Object>> mlist) {

MyComparator mComparator = new MyComparator();
Collections.sort(mlist, mComparator);
return mlist;
}

/**

* 自定義比較器,對List<Map>進行排序
*/
private class MyComparator implements Comparator<Map<String, Object>> {
private Collator collator = Collator.getInstance();

@Override
public int compare(Map<String, Object> map1, Map<String, Object> map2) {

// String s1 = (String) map1.get("name");
// String s2 = (String) map2.get("name");

// 把字串轉換為一系列位元,它們可以以位元形式與 CollationKeys 相比較
CollationKey key1 = collator.getCollationKey(map1.get("name").toString());// 用o1.toString().toLowerCase()不區分大小寫
CollationKey key2 = collator.getCollationKey(map2.get("name").toString());

return key1.compareTo(key2);// 返回的分別為1,0,-1 分別代表大於,等於,小於。要想按照字母降序排序的話 加個“-”號
}
}