将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) { ...
 
随机推荐
- Jane Austen【简·奥斯汀】
			
Jane Austen Jane Austen, a famous English writer, was born at Steventon, Hampshire, on December 16, ...
 - char* 与char[]区别
			
[转] 最近的项目中有不少c的程序,在与项目新成员的交流中发现,普遍对于char *s1 和 char s2[] 认识有误区(认为无区别),导致有时出现“难以理解”的错误.一时也不能说得很明白,网上也 ...
 - git 使用规范
			
git使用资料: https://github.com/peak-c/my-git 公司内部使用开发规范: 一. 代码库介绍 个人开发库(git@gitlab.adrd.sohuno.com:sper ...
 - sql中保留一位小数的百分比字符串拼接,替换函数,换行符使用
			
select num ,cast(round(convert(float,isnull((a.Sum_Num-d.Sum_Num),0))/convert(float,c.Sum_Store_Num ...
 - C# datagridview列绑定类中类的属性
			
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://www.cnblogs.com/linghaoxinpian/p/5906374. ...
 - P2920 [USACO08NOV]时间管理Time Management
			
P2920 [USACO08NOV]时间管理Time Management 题目描述 Ever the maturing businessman, Farmer John realizes that ...
 - Redis实现之事件
			
事件 Redis服务器是一个事件驱动程序,服务器需要处理以下两类事情: 文件事件(file event):Redis服务器通过套接字与客户端(或者其他Redis服务器)进行连接,而文件事件就是服务器对 ...
 - IT帮2019年2月线下活动【定义工作,解读自我】之站桩练习
			
2019年2月IT帮线下活动[定义工作,解读自我] 昨天的活动收获很大,全面的总结周老师会另写一篇来帮助大家回顾.我想说一下其中最打动我的一句话:“只有你能决定你有多优秀!” “工作中把自己当成企业家 ...
 - JAVA调用可执行程序或系统命令Runtime.getRuntime().exec
			
用Java编写应用时,有时需要在程序中调用另一个现成的可执行程序或系统命令,这时可以通过组合使用Java提供的Runtime类和Process类的方法实现.下面是一种比较典型的程序模式: Proces ...
 - AsyncSocket
			
如果需要在项目中像QQ微信一样做到即时通讯,必须使用socket通讯,本人也是刚学习,分享一下,有什么不对的地方希望大家指正 ios原生的socket用起来不是很直观,所以我用的是AsyncSocke ...