對List進行排序
阿新 • • 發佈:2018-12-31
/**
* 對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 分別代表大於,等於,小於。要想按照字母降序排序的話 加個“-”號
}
}