关于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的更多相关文章

  1. 【Java进阶】---map集合排序

    map集合排序         这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题.   比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按 ...

  2. Java提高(5)---map集合排序

    map集合排序 这篇文章讲的不仅仅是map排序,比如把对象按某一属性排序,它都可以解决这些问题. 比如,有N个对象,每个对象有个属性就是成绩,成绩分:优秀,良好,合格.那我们如何按照成绩的好坏进行排序 ...

  3. java Map 之 排序(key,value)

    一:起因: (1)现实中须要Map容器进行排序的情况非常多非常多:由于Map<key,value>键值对的存储结构特别是HashMap的结构是非常优秀的,数据存储就难免对其进行排序: (2 ...

  4. java -- 对Map按键排序、按值排序

                             java  -- 对Map按键.按值排序 1.按键排序(sort by key) 直接上代码  ↓ public Map<String, Str ...

  5. Java语言利用Collections.sort对Map,List排序

    1.main方法包含TreeMap排序1,TreeMap排序2,HashMap排序,List<Integer>排序,List<Bean>排序,List<Map>排序 ...

  6. 类 java.util.Collections 提供了对Set、List、Map进行排序、填充、查找元素的辅助方法。

      类 java.util.Collections 提供了对Set.List.Map进行排序.填充.查找元素的辅助方法. 1. void sort(List) //对List容器内的元素排序,排序的规 ...

  7. Java中List的排序和List的MAp

    这里是一个类中类去实现条件优先排序的问题 package com.sun; import java.util.ArrayList; import java.util.Arrays; import ja ...

  8. Java基础操作面试题:Map集合排序 需要TreeMap 构造方法参数有比较器 输入字符串,统计A、B、C、D、出现次数,由高到低输出字母和出现次数,使用Map集合完成此题

    Map和Collections是同级别的,不能像List排序那样直接用Collections.sort(new Comparator<?>(){ 复写compara方法}); HashMa ...

  9. java如何对map进行排序详解(map集合的使用)

    今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排 ...

随机推荐

  1. Jenkins 集成 Sonar

    Jenkins 与 Sonar 集成:Sonar 是 Jenkins 之外独立运行的一个服务.Jenkins 中安装插件 SonarQube(并配置其 Sonar Server 的 URL / Acc ...

  2. C11多线程

    参考: http://www.oschina.net/translate/cplusplus-11-threading-make-your-multitasking-life http://blog. ...

  3. 【LOJ】#2072. 「JSOI2016」独特的树叶

    题解 干脆题解套题解好了 毕竟我的hash方法是抄小迪的 https://www.cnblogs.com/RabbitHu/p/9165770.html 小迪太巨了%%% 之前模数是八位的WA了几个点 ...

  4. 【POJ】1704.Georgia and Bob

    题解 感觉挺神奇的 我们把石子从后往前相邻的两个两两配对,这样他们之间的空格就相当于一堆石子 而配对后左边棋子移动,右边棋子也一定可以跟上取 转化成简单的nim游戏,最后只要看转化出的这(N - 1) ...

  5. 更快的速度、更好的服务——易普优APS云排程

    众所周知软件执行效率受制于硬件性能,市面上的APS产品多为单机版本,企业要应用好APS,保证紧急插单.计划下发全程无忧,用户电脑硬件性能是不容忽视的一大瓶颈.APS的直接用户是车间管理人员.计划员,而 ...

  6. maven设计思想

    20171108 maven设计思想? archetype  插件  学习插件.

  7. 1. python 类型和运算

    类型和运算 (Types and Operations) Introducing Python Object Types 在非正式的意义上, 在 Python 中, 我们用一些东西做事情. " ...

  8. MCI:移动持续集成在大众点评的实践

    一.背景 美团是全球最大的互联网+生活服务平台,为3.2亿活跃用户和500多万的优质商户提供一个连接线上与线下的电子商务服务.秉承“帮大家吃得更好,生活更好”的使命,我们的业务覆盖了超过200个品类和 ...

  9. python获取文件

    第一种:使用os.walk: # -*- coding: utf-8 -*- import os def Test1(rootDir): list_dirs = os.walk(rootDir) fo ...

  10. Oracle 判断为空 all space

    You can use trim on the column. where trim(product_type) is null The above is not DBMS-independent, ...