zoukankan      html  css  js  c++  java
  • JAVA中对List<Map<String,Object>>中的中文汉字进行排序

    转载于:http://blog.csdn.net/flykos/article/details/54631573

    参考:http://www.jb51.net/article/88710.htm

    本篇文章,对中文的排序规则为:首个汉字——拼音——首字母,遵循26个英文字母的顺序排列

    [java] 
    1. import java.text.Collator;  
    2. import java.util.ArrayList;  
    3. import java.util.Collections;  
    4. import java.util.Comparator;  
    5. import java.util.HashMap;  
    6. import java.util.List;  
    7. import java.util.Locale;  
    8. import java.util.Map;  
    9.   
    10. import org.apache.commons.collections.MapUtils;  
    11.   
    12. public class ListSort {  
    13.     public static void main(String[] args)  {  
    14.           
    15.         List<Map<String, Object>> list=new ArrayList<Map<String,Object>>();  
    16.         Map<String, Object> map=new HashMap<String, Object>();  
    17.         map.put("name", "中国");  
    18.         Map<String, Object> map1=new HashMap<String, Object>();  
    19.         map1.put("name", "美国");  
    20.         Map<String, Object> map2=new HashMap<String, Object>();  
    21.         map2.put("name", "俄罗斯");  
    22.         Map<String, Object> map3=new HashMap<String, Object>();  
    23.         map3.put("name", "英国");  
    24.           
    25.         list.add(map);  
    26.         list.add(map1);  
    27.         list.add(map2);  
    28.         list.add(map3);  
    29.         System.out.println("排序前:"+list);  
    30.         listSort(list);  
    31.         System.out.println("排序后:"+list);  
    32.     }  
    33.       
    34.     public static void listSort(List<Map<String, Object>> resultList) {  
    35.         Collections.sort(resultList, new Comparator<Map<String, Object>>() {  
    36.   
    37.             public int compare(Map<String, Object> o1, Map<String, Object> o2) {  
    38.                 String name1=MapUtils.getString(o1, "name");  
    39.                 String name2=MapUtils.getString(o2, "name");  
    40.                 Collator instance = Collator.getInstance(Locale.CHINA);  
    41.                 return instance.compare(name1, name2);  
    42.   
    43.             }  
    44.         });  
    45.     }  
    46. }  

    结果:

  • 相关阅读:
    hdu5714 拍照[2016百度之星复赛C题]
    hdu5715 XOR 游戏 [2016百度之星复赛D题]
    AFO
    BZOJ 3566 概率充电器
    BZOJ 3427 Bytecomputer
    BZOJ 4513 储能表
    BZOJ 3667 Miller_Rabin
    BZOJ 4557 侦察守卫
    BZOJ 3894 文理分科
    SUOI #69 奔跑的Aqua
  • 原文地址:https://www.cnblogs.com/zl0372/p/7459896.html
Copyright © 2011-2022 走看看