将Map<String, List<Map<String,Object>>>进行排序
首先我贴上我的代码,刚开始我也不知道怎么排序还写了一些方法,最后请教群里的大神解决了
public Map<String, List<Map<String,Object>>> getGrowList(String id){
        List<Map<String, Object>> growList = mentDao.getGrowList(id);
        SortedMap<String, List<Map<String,Object>>> maps = new TreeMap<>();
        List<Map<String,Object>> list = null;
        Map<String,Object> grothMap = null;
        for (Map<String, Object> map2 : growList) {
            String dt = map2.get("createTime").toString();
            String month = dt.substring(0, 10);
            String time = dt.substring(10,16);
            list = maps.get(month);
            if(null == list){
                list = new ArrayList<Map<String,Object>>();
                maps.put(month, list);
            }
            grothMap = new HashMap<String,Object>();
            grothMap.put("time", time);
            grothMap.put("note", map2.get("notes").toString());
            list.add(grothMap);
        }
        return maps;
    }
我的数据格式是这样的
{
    2015-06-29=[
        {
            time=00: 00,
            note=小羊出生
        }
    ],
    2015-10-21=[
        {
            time=10: 07,
            note=入栏养殖
        }
    ],
    2015-09-23=[
        {
            time=03: 27,
            note=开始建档
        }
    ]
}
我是想根据年月日来排序,这里已经自动排序了.首先我申明了SortedMap<String, List<Map<String,Object>>> maps = new TreeMap<>();这个变量因为SortedMap是继承Map的所以直接可以用这个方法
现在我来说说他根据年月日来排序了也将我的time排序了,刚开始我也奇怪,因为time是在我的年月日的集合里,为什么也给我排序了,后来仔细看了代码想想,根据个人的理解他是首先根据growList来排序,里面的时间来排序的,因为我的growList的格式是这样的
[
    {
        notes=小羊出生,
        createTime=2015-06-2900: 01: 00.0
    },
    {
        notes=体重,
        createTime=2015-06-2909: 27: 01.0
    },
    {
        notes=测量体重,
        createTime=2015-06-2910: 08: 01.0
    },
    {
        notes=开始建档,
        createTime=2015-09-2303: 27: 53.0
    },
    {
        notes=入栏养殖,
        createTime=2015-10-2110: 07: 22.0
    }
]
我每截取一次createTime放到list,就给我排序了一次 因为list = maps.get(month); maps将截取的时间排序了放到list里面了 ,所以我的time也给我自动排序了.如果有不同意见的请提出,我会加紧修正
将Map<String, List<Map<String,Object>>>进行排序的更多相关文章
- 迭代输出Map和List<Map<String,Object>>的方法
		一.Map<String,Object> String:key的类型 Object:value的类型,value可能是String,或者int类型,什么类型都可以 对于Map接口来说,本身 ... 
- POST 发送HTTP请求入参为:String url, Map<String, Object> propsMap
		/** * 发送HTTP请求 * * @param url * @param propsMap * 发送的参数 */ public static String httpSend(String url, ... 
- 对List<Map<String, Object>>集合排序
		private void mySort(List<Map<String, Object>> list) { //list为待排序的集合,按SEQ字段排序 Comparator& ... 
- ES6中Json、String、Map、Object之间的转换
		/** *字符串转json * */ static stringToJson(data){ return JSON.parse(data); } /** *json转字符串 */ static jso ... 
- JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换类
		<pre name="code" class="java"></pre><pre name="code" cl ... 
- kafka消息传输时的对象转字符串时所需  -json String 转list 、set、  Long、 String 、map  与json Iterator遍历
		JSONObject jsonObject = new JSONObject(jsonString); Iterator iterator = jsonObject.keys(); while(ite ... 
- JSONObject,String,Map互相转换
		JSONObject和String相互转换 JSONObject jsonObject = new JSONObject(); JSONArray jsonArray = new JSONArray( ... 
- 【转换】Bean、List、Map、Array、String与JSON字符串的相互转换
		import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.math.BigDecimal; i ... 
- String转Map的工具类
		借鉴代码 public class StringToMapUtil { public static Map<String, String> getValue(String param) { ... 
随机推荐
- HDU1301 Jungle Roads
			Jungle Roads The Head Elder of the tropical island of Lagrishan has a problem. A burst of foreign ai ... 
- easyui-combogrid必填为空时无法通过表单验证的问题
			在使用easyui-combogrid时,由于html解析出的格式是如下三层: <td> <input id="txcombo" class="easy ... 
- 68、TSPL指令集(标签打印机)
			0.开发者pdf.sdk等资料详见: http://download.csdn.net/detail/kunyashaw/9376694 1.测试代码 包含文字打印.条形码打印.二维码打印 packa ... 
- leetcode 【 Maximum Subarray   】python 实现
			题目: Find the contiguous subarray within an array (containing at least one number) which has the larg ... 
- SSH的基本操作
			一. 登陆SSH远程控制服务器 我们以192.168.100.42服务器为例. SSH乱码: LANG="zh_CN.GB18030" export LANG=zh_CN.gb23 ... 
- day05_07 标志位讲解
			continue: 需求:大于5才打印 for i in range(10): if i<6 : continue print(i) continue作用:结束本次循环,继续下次循环 break ... 
- 最少的硬币数量组合出1到m之间的任意面值(贪心算法)
			题目描述: 你有n种不同面值的硬币,每种面值的硬币都有无限多个,为了方便购物,你希望带尽量少的硬币,并且要能组合出 1 到 m 之间(包含1和m)的所有面值. 输入描述: 第一行包含两个整数:m ,n ... 
- 文件处理之复杂,在于内置方法-----python
			抛砖引玉: 文件是我们储存信息的地方,我们经常要对文件进行读.写.删除等的操作,在Python中,我们可用Python提供的函数和方法方便地操作文件. ************************ ... 
- RESTful-rest_framework应用第一篇
			一:了解RESTful 主要是做前后端分离用的,RESTful只做后台数据和接口,供外面去调用. REST是Representational State Transfer的简称,中文翻译为“表征状态转 ... 
- "R6002 floating point support not loaded"错误
			R6002 floating point support not loaded 错误,在Debug模式下会弹出如下错误: "floating point support not loaded ... 
