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

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

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

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

结果:

JAVA中对List<Map<String,Object>>中的中文汉字进行排序的更多相关文章

  1. java中对List<Map<String,Object>>中的中文汉字排序

    import java.text.Collator;import java.util.ArrayList;import java.util.Collections;import java.util.C ...

  2. JAVA中对List<map<String,Object>>根据map某个key值进行排序

    方法compareTo()比较此对象与指定对象的顺序.如果该对象小于.等于或大于指定对象,则分别返回负整数.零或正整数.返回整数,1,-1,0:返回1表示大于,返回-1表示小于,返回0表示相等. 普通 ...

  3. 添加,删除List<Map<String, Object>>元素

    这里讲对List<Map<String, Object>>的数据结构的添加和删除实例 添加 //初始化 List<Map<String, Object>> ...

  4. java中List<Map<String, Object>>关于null的判断

    List<Map<String, Object>> selectTmFileInfo = fileInfoService.selectTmFileInfoByToken(cTo ...

  5. List<Map<String, Object>>集合中获取某个key并转换为List<Integer>集合

    package com.codyy.sso.controller.yuanqu; import java.util.ArrayList; import java.util.HashMap; impor ...

  6. java和js中JSONObject,JSONArray,Map,String之间转换

    --------------------------------------------------Java中--------------------------------------------- ...

  7. List<Map<String,Object>>使用Java代码遍历

    List<Map<String,Object>>的结果集怎么使用Java代码遍历以获取String,Object的值: package excel; import java.u ...

  8. 迭代输出Map和List<Map<String,Object>>的方法

    一.Map<String,Object> String:key的类型 Object:value的类型,value可能是String,或者int类型,什么类型都可以 对于Map接口来说,本身 ...

  9. JavaBean与Map<String,Object>相互转换

    一.为什么要实现javaBean与Map<String,Object>相互转换 Spring中的BaseCommandController对象可以将传递过来的参数封装到一个JavaBean ...

随机推荐

  1. hdu 1588 求f(b) +f(k+b) +f(2k+b) +f((n-1)k +b) 之和 (矩阵快速幂)

    g(i)=k*i+b; 0<=i<nf(0)=0f(1)=1f(n)=f(n-1)+f(n-2) (n>=2)求f(b) +f(k+b) +f(2*k+b) +f((n-1)*k + ...

  2. day8--socketserver

    socketserver分类: 1.TCP协议 class socketserver.TCPServer(server_address,RequestHandlerClass,bind_and_act ...

  3. java算法:统计数字-将数字转换成字符串,然后使用字符串String.valueOf()方法进行判断

    题目: 计算数字 k 在 0 到 n 中的出现的次数,k 可能是 0~9 的一个值. 样例 样例 1: 输入: k = 1, n = 1 输出: 1 解释: 在 [0, 1] 中,我们发现 1 出现了 ...

  4. asp.net core配置访问地址

    配置Kestrel Urls有四种方式,我这里只介绍一种.其它方式可自行百度. 在Program.cs里使用UseUrls()扩展方法进行设置.UseUrls()方法的参数是个字符串数组,可以同时设置 ...

  5. BZOJ2843 极地旅行社 LCT

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ2843 题意概括 有n座岛 每座岛上的企鹅数量虽然会有所改变,但是始终在[0, 1000]之间.你的 ...

  6. QMessageBox的用法

    QMessageBox的用法   先来看一下最熟悉的QMessageBox::information.我们在以前的代码中这样使用过:   QMessageBox::information(NULL,  ...

  7. 障碍路线Obstacle Course

    P1649 [USACO07OCT]障碍路线Obstacle Course 裸的dfs,今天学了一个新招,就是在过程中进行最优性减枝. #include<bits/stdc++.h> us ...

  8. 添加js,css 版本号?v= hash

    node_modules设置 a.打开 node_modules\gulp-rev\index.js 第144行 manifest[originalFile] = revisionedFile; 更新 ...

  9. jQueryPrint 的简单使用

    jQueryPrint 的简单使用 一.为什么要使用 jQueryPrint?  1.当然是方便的要死尼,相比于其他的方法. 2.打印整个页面或者局部页面都是非常的可以的,使用很方便. 3.如果要导出 ...

  10. C++ 模板应用举例_模板实现STL类(堆栈)

    //stack集合类是一个简单的堆栈的实现. //这里有两个模板参数,T和size,指定堆栈中的元素类型和堆栈中项数的最大值. //push 和 pop成员函数添加和删除堆栈中的项,并在堆栈底部增加. ...