首先我贴上我的代码,刚开始我也不知道怎么排序还写了一些方法,最后请教群里的大神解决了

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>>>进行排序的更多相关文章

  1. 迭代输出Map和List<Map<String,Object>>的方法

    一.Map<String,Object> String:key的类型 Object:value的类型,value可能是String,或者int类型,什么类型都可以 对于Map接口来说,本身 ...

  2. POST 发送HTTP请求入参为:String url, Map<String, Object> propsMap

    /** * 发送HTTP请求 * * @param url * @param propsMap * 发送的参数 */ public static String httpSend(String url, ...

  3. 对List<Map<String, Object>>集合排序

    private void mySort(List<Map<String, Object>> list) { //list为待排序的集合,按SEQ字段排序 Comparator& ...

  4. ES6中Json、String、Map、Object之间的转换

    /** *字符串转json * */ static stringToJson(data){ return JSON.parse(data); } /** *json转字符串 */ static jso ...

  5. JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换类

    <pre name="code" class="java"></pre><pre name="code" cl ...

  6. kafka消息传输时的对象转字符串时所需 -json String 转list 、set、 Long、 String 、map 与json Iterator遍历

    JSONObject jsonObject = new JSONObject(jsonString); Iterator iterator = jsonObject.keys(); while(ite ...

  7. JSONObject,String,Map互相转换

    JSONObject和String相互转换 JSONObject jsonObject = new JSONObject(); JSONArray jsonArray = new JSONArray( ...

  8. 【转换】Bean、List、Map、Array、String与JSON字符串的相互转换

    import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.math.BigDecimal; i ...

  9. String转Map的工具类

    借鉴代码 public class StringToMapUtil { public static Map<String, String> getValue(String param) { ...

随机推荐

  1. Pycharm中F4查看函数的相关小BUG

    我们都知道在Pycharm中我们要快速查看某个函数或者模块的源码,可以在该函数上按F4快捷键,其可以打开源码相关的.py文件,这两天偶然发现起打开的文件不一定是对的. -代码如下: import os ...

  2. makefile学习(1)

    GNU Make / Makefile 学习资料 GNU Make学习总结(一) GNU Make学习总结(二) 这篇学习总结,从一个简单的小例子开始,逐步加深,来讲解Makefile的用法. 最后用 ...

  3. Redis实现之复制(二)

    PSYNC命令的实现 在Redis实现之复制(一)这一章中,我们介绍了PSYNC命令和它的工作机制,但一直没有说明PSYNC命令的参数以及返回值.现在,我们了解了运行ID.复制偏移量.复制积压缓冲区以 ...

  4. IOS笔记051-手势使用

    UIGestureRecognizer 利用UIGestureRecognizer,能轻松识别用户在某个view上面做的一些常见手势 UIGestureRecognizer是一个抽象类,定义了所有手势 ...

  5. [转]Linux 技巧:让进程在后台可靠运行的几种方法

    转自: https://www.ibm.com/developerworks/cn/linux/l-cn-nohup/index.html 我们经常会碰到这样的问题,用 telnet/ssh 登录了远 ...

  6. File IO(NIO.2):读、写并创建文件

    简介 本页讨论读,写,创建和打开文件的细节.有各种各样的文件I / O方法可供选择.为了帮助理解API,下图以复杂性排列文件I / O方法 在图的最左侧是实用程序方法readAllBytes,read ...

  7. 【bzoj1222】[HNOI2001]产品加工 背包dp

    题目描述 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机器共同进行加工 ...

  8. POJ3648 Wedding 【2-sat】

    题目 Up to thirty couples will attend a wedding feast, at which they will be seated on either side of ...

  9. 调试Java代码(Eclipse)汇总

    Java 10个调试技巧(基础❤❤❤❤❤) Eclipse断点调试(和上一篇基本类似,补充❤❤) 使用Eclipse开发和调试java程序(从安装eclipse开始,特别细,有设置条件断点,回退的具体 ...

  10. Linux基础值定时任务

    Linux计划任务:列行公事 在Linux中,通过crontab与at这两个来实现这些功能 at:是一个可以处理仅执行一次就结束的指令 crontab:把你指定的工作或任务,按照你设定的周期一直循环执 ...