TreeMap Comparator按照首字母排序
来源:互联网 发布:射手播放器 mac 编辑:程序博客网 时间:2024/05/16 15:51
/** * @Modified by FANGYUKANG * @Description 查询配件类型列表 * @return {@link JsonView} * * URLlocal * http://127.0.0.1:8080/admin/wiki/loadPartsTypes */@SuppressWarnings("unchecked")@RequestMapping(value = "/loadPartsTypes", method = RequestMethod.GET)public JsonView loadPartsTypes() {/*封装查询结果*/List<Map<String, Object>> listMap = null;/*以首字母KEY排序*/Map<String,Object> keymap = new TreeMap<String, Object>(new Comparator<String>() {public int compare(String o1, String o2) {return o1.compareTo(o2);}});try {/*接收查询结果*/listMap = wikiService.loadPartsTypes();/*遍历列表*/for(Map<String, Object> map : listMap){/*空值判断*/if(null != map.get("partTypeName")){/*取得配建项目名*/String partTypeName = map.get("partTypeName").toString();/*取得配建项目名拼音首字母大写*/String partTypeNameFirstSpell = PingYinUtil.getFirstSpell(partTypeName);char[] firstSpellArray = partTypeNameFirstSpell.toCharArray();String firstSpell = String.valueOf(firstSpellArray[0]);/*验证项目名首字母是否是以数字开头*/java.util.regex.Pattern pattern = java.util.regex.Pattern.compile("^[0-9]{1}$");java.util.regex.Matcher m = pattern.matcher(firstSpell);/*满足首字母开头则以数字拼音首字母为准*/if (m.matches()) {switch (Integer.valueOf(String.valueOf(firstSpell))) {case 0: firstSpell = "L"; break;case 1: firstSpell = "Y"; break;case 2: firstSpell = "E"; break;case 3: firstSpell = "S"; break;case 4: firstSpell = "S"; break;case 5: firstSpell = "W"; break;case 6: firstSpell = "L"; break;case 7: firstSpell = "Q"; break;case 8: firstSpell = "B"; break;case 9: firstSpell = "J"; break;}}/*根据品牌索引首字母在KEYMAP中取得对应的品牌信息*/Set<Map<String, Object>> partList = (Set<Map<String, Object>>) keymap.get(firstSpell);/*空值判断*/if(null == partList){partList = new HashSet<Map<String, Object>>();}/*空值判断*/if(partList.size() > 0){partList.add(map);}else{partList.add(map);keymap.put(firstSpell, partList);}}}/*转换数据格式*/Set<Entry<String, Object>> entrySet= keymap.entrySet();List<Map<String, Object>> finalSet = new ArrayList<Map<String, Object>>();for (Entry<String, Object> entry : entrySet) {Set<Map<String, Object>> setMap = (Set<Map<String, Object>>) entry.getValue();for(Map<String, Object> map : setMap){finalSet.add(map);}}return success("Load partsTypes success.", finalSet);} catch (Exception e) {logger.error(e); e.printStackTrace();return error("System error!");}}
0 0
- TreeMap Comparator按照首字母排序
- TreeMap Comparator 排序
- TreeMap按照key排序
- TreeMap按照key排序
- TreeMap按照key排序
- TreeMap按照key排序
- TreeMap按照key排序
- TreeMap利用Comparator接口排序
- TreeMap按照value进行排序
- TreeMap按照value进行排序
- TreeMap按照value进行排序
- SQL 按照中文首字母排序
- 联系人按照拼音首字母排序
- java 按照中文首字母排序
- js按照首字母分组排序
- 中英文混合按照首字母排序
- TreeMap Comparator 根据vlaue 值排序案例
- TreeMap集合如何按照Value进行排序
- 运行Eclipse提示No java virtual machine was found after searching the follwing locations
- 使用AVR Studio 4.0编程进行AVR外部中断学习
- Android File管理
- g++ stray 错误
- Eclipse下导入外部jar包的3种方式
- TreeMap Comparator按照首字母排序
- 用java实现新浪爬虫,代码完整剖析(仅针对当前SinaSignOn有效)
- mysql客户端连接不上数据库
- Spark Streaming源码解读之Executor容错安全性
- C++ 智能指针详解
- 把list中根据相同属性(合为一个),计算不同属性转化为另外一个list
- ArcGIS教程:创建包含插图的地图册(二)
- repo 下载Android源码(国内镜像)
- Dubbo入门及架构