【java】关于Map的排序性的一次使用,有序的Map
关于Map的排序性的一次使用,有序的Map
>>>>>
hashmap是按key的hash码排序的,而treemap是利用comparator 进行key的自然排序的
/**
* 根据商品分类ID
* 获取长编码,拿到向上的所有父级商品分类ID
*
* 根据parentUidList 获取 parentList
*
* 迭代parentUid 根据uid 获取在有序List中的 下标
*
* 按照[k:v][下标:具体信息]
* 放入TreeMap 即得到有序的父层商品分类层级信息
* @param entity
* @return
*/
@Override
public AjaxResult<Map<Integer, GoodsTypeSimpleBean>> findGoodsTypeTree(GoodsType entity) {
LunaResultBean.checkField(entity,"uid");
TenementUser tenementUser = RequestData.TENEMENT_USER.get();
AjaxResult<Map<Integer,GoodsTypeSimpleBean>> res = new AjaxResult<>();
GoodsType goodsType = goodsTypeService.get(entity.getUid());
if (goodsType != null && tenementUser.getTenementId().equals(goodsType.getTenementId())){
String longCode = goodsType.getLangCode();
List<String> parentUidList = Arrays.asList(longCode.split(":"));
List<GoodsType> parentList = goodsTypeService.findByUidIn(parentUidList); Map<Integer,GoodsTypeSimpleBean> sortMap = new TreeMap<>();
for (GoodsType type : parentList) {
GoodsTypeSimpleBean bean = new GoodsTypeSimpleBean();
bean.setGoodsTypeName(type.getName());
bean.setOuterCode(type.getOuterCode()); int index = parentUidList.indexOf(type.getUid())+1;
sortMap.put(index,bean);
} res.initTrue(sortMap);
}else {
res.initFalse("商品分类不存在",LunaResultBean.ERROR_BUSINESS);
}
return res;
}
获取结果如下:

【java】关于Map的排序性的一次使用,有序的Map的更多相关文章
- 【Java进阶】---map集合排序
map集合排序 这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题. 比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按 ...
- Java提高(5)---map集合排序
map集合排序 这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题. 比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按照成绩的好坏进行排序 ...
- java Map 之 排序(key,value)
一:起因: (1)现实中须要Map容器进行排序的情况非常多非常多:由于Map<key,value>键值对的存储结构特别是HashMap的结构是非常优秀的,数据存储就难免对其进行排序: (2 ...
- java -- 对Map按键排序、按值排序
java -- 对Map按键.按值排序 1.按键排序(sort by key) 直接上代码 ↓ public Map<String, Str ...
- Java语言利用Collections.sort对Map,List排序
1.main方法包含TreeMap排序1,TreeMap排序2,HashMap排序,List<Integer>排序,List<Bean>排序,List<Map>排序 ...
- 类 java.util.Collections 提供了对Set、List、Map进行排序、填充、查找元素的辅助方法。
类 java.util.Collections 提供了对Set.List.Map进行排序.填充.查找元素的辅助方法. 1. void sort(List) //对List容器内的元素排序,排序的规 ...
- Java中List的排序和List的MAp
这里是一个类中类去实现条件优先排序的问题 package com.sun; import java.util.ArrayList; import java.util.Arrays; import ja ...
- Java基础操作面试题:Map集合排序 需要TreeMap 构造方法参数有比较器 输入字符串,统计A、B、C、D、出现次数,由高到低输出字母和出现次数,使用Map集合完成此题
Map和Collections是同级别的,不能像List排序那样直接用Collections.sort(new Comparator<?>(){ 复写compara方法}); HashMa ...
- java如何对map进行排序详解(map集合的使用)
今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排 ...
随机推荐
- Fedora下Eclipse/MyEclipse崩溃的解决方案
Fedora19下使用myeclipse2013时,打开不到一分钟就异常关闭. 默认在home目录下生成一个log文件,里面显示的错误信息,说是libsoup.so文件导致出错.第一个想法是删除这个文 ...
- head命令 tail命令
head命令 head命令用于显示文件的开头的内容.在默认情况下,head命令显示文件的头10行内容. -n<数字>:指定显示头部内容的行数: -c<字符数>:指定显示头部内容 ...
- hdu 5131 (2014广州现场赛 E题)
题意:对给出的好汉按杀敌数从大到小排序,若相等,按字典序排.M个询问,询问名字输出对应的主排名和次排名.(排序之后)主排名是在该名字前比他杀敌数多的人的个数加1,次排名是该名字前和他杀敌数相等的人的个 ...
- 浏览器开启web通知。
https://www.cnblogs.com/xcsn/p/7767092.html
- centos killall安装
https://blog.csdn.net/joeyon1985/article/details/46707865 https://blog.csdn.net/xupeng874395012/arti ...
- pomelo 安装
1. 安装nodejs ,python ,C++运行环境(VS2012以上版本) 2.npm install -g node-gyp --registry=https://registry.npm.t ...
- umount /dev/shm
[root@test ~]# umount /dev/shm umount: /dev/shm: device is busy. (In some cases useful info a ...
- git获取帮助
想了解 Git 的各式工具该怎么用,可以阅读它们的使用帮助,方法有三: $ git help <verb> $ git <verb> --help $ man git-< ...
- Pycharm 激活码(转) 有效期到2019/10月
Pycharm 激活码(转) 有效期到2019/10月 2018年11月13日 17:15:32 may_ths 阅读数:64 [激活码激活] 修改hosts文件 添加下面一行到hosts文件,目 ...
- Servlet的一点小结
1.什么是servlet servlet是一个Java applet,一个帮助程序.用于帮助浏览器从服务器中获取资源.浏览器-servlet-服务器三者的关系如图所示. 2.servlet的生命周期 ...