list中map 的value值时间排序
public static void main(String[] args) {
String sys=DateUtil.getTime().substring(0,5);
System.out.println(sys);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
Calendar nowTime = Calendar.getInstance();
nowTime.add(Calendar.MINUTE, -10);
System.out.println(sdf.format(nowTime.getTime()));
SimpleDateFormat format = new SimpleDateFormat("HH:mm");
List<Map<String, Object>> alarmMaps = new ArrayList();
HashMap<String, Object> hashMap = new HashMap<>();
HashMap<String, Object> hashMap2 = new HashMap<>();
HashMap<String, Object> hashMap3 = new HashMap<>();
hashMap.put("TIME_NAME", "14:20");
hashMap.put("TIME_TYPE", "1");
hashMap2.put("TIME_NAME", "12:00");
hashMap2.put("TIME_TYPE", "1");
hashMap3.put("TIME_NAME", "9:00");
hashMap3.put("TIME_TYPE", "1");
alarmMaps.add(hashMap);
alarmMaps.add(hashMap2);
alarmMaps.add(hashMap3);
// 注:alarmMaps里面存在 count 属性
// String a="12:00";
// Integer valueOf = Integer.valueOf(a);
// System.out.println(valueOf);
//排序 倒序
if (alarmMaps != null && alarmMaps.size() > 1) {
Collections.sort(alarmMaps , new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
Integer o1Value = Integer.valueOf(o1.get("TIME_NAME").toString().replace(":", ""));
Integer o2Value = Integer.valueOf(o2.get("TIME_NAME").toString().replace(":", ""));
return o1Value.compareTo(o2Value);
}
});
//14:00 <14:10-8
if (alarmMaps.get(alarmMaps.size()-1).get("TIME_NAME").toString().replace(":", "").compareTo(sdf.format(nowTime.getTime()).replace(":", ""))<0) {
alarmMaps.get(alarmMaps.size()-1).put("TIME_TYPE", "2");
// a.replace("1", "2");
}
}
for (Map<String, Object> map : alarmMaps) {
System.out.println(map.get("TIME_NAME"));
System.out.println(map.get("TIME_TYPE"));
}
}
//09:00@10:30@10:00@09:30
List<String> nums = new ArrayList<String>();
String a="09:00@10:30@10:00@09:30";
String[] timeArr=a.toString().split("@");
for(int i=0;i<timeArr.length;i++){
nums.add(String.valueOf(timeArr[i]));
}
Collections.sort(nums);
String[] timeArr2 = new String[nums.size()];
if (nums.size()>0) {
for (int i = 0; i < nums.size(); i++) {
timeArr2[i]=nums.get(i);
}
}
}
list中map 的value值时间排序的更多相关文章
- C++中实现对map按照value值进行排序 - 菜鸟变身记 - 51CTO技术博客
C++中实现对map按照value值进行排序 - 菜鸟变身记 - 51CTO技术博客 C++中实现对map按照value值进行排序 2012-03-15 15:32:36 标签:map 职场 休闲 排 ...
- Java中Map根据键值(key)或者值(value)进行排序实现
我们都知道,java中的Map结构是key->value键值对存储的,而且根据Map的特性,同一个Map中 不存在两个Key相同的元素,而value不存在这个限制.换句话说,在同一个Map中Ke ...
- 使用Java8 Stream API对Map按键或值进行排序
一.什么是Java 8 Stream 使用Java 8 Streams,我们可以按键和按值对映射进行排序.下面是它的工作原理: 将Map或List等集合类对象转换为Stream对象 使用Streams ...
- python中字典按键、值进行排序
看到排序,就不禁想起python中的sort和sorted sort是列表中的方法,用于对列表进行排序(改变的是原列表,不返回新列表) 用法: list.sort(key=None,reverse=T ...
- JAVA中对List<map<String,Object>>根据map某个key值进行排序
方法compareTo()比较此对象与指定对象的顺序.如果该对象小于.等于或大于指定对象,则分别返回负整数.零或正整数.返回整数,1,-1,0:返回1表示大于,返回-1表示小于,返回0表示相等. 普通 ...
- JAVA中对list map根据map某个key值进行排序
package test; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; ...
- java map 根据 map的value值进行排序
//根据销量排行查询 public void queryGoodsByHotCount(){ //将map集合键和值封装到entry对象中 然后转换成set集合 Set<Entry<Int ...
- c++中map按key和value排序
``` #include<iostream> #include<algorithm> #include<vector> #include<map> #i ...
- 小程序中map的取值和赋值
1.初始化 resultMap: { "near": [], "join": [], "publish": [] } 2.js中直接取 co ...
随机推荐
- Java源码研究001:关于List的并发修改异常
这个就是实现一个简单的 ArrayList 的遍历,如果存在一个为"aaa"的值,就添加一个"ccc" package Array; import java.u ...
- bladex从blade-dev.yaml 读取配置信息
blade-dev.yaml配置======nacos文件配置 #sap配置 sap: api: read: url: http://read.xxxxxxxx.com.cn port: 80 use ...
- 如何解决git创建密匙时报错Too many arguments
如题:git创建密匙时报错Too many arguments. 前几天我遇见了一个问题,git需要重新创建密匙,运行命令ssh-keygen -t rsa -b 4096 -C " you ...
- WEBSERVICE之CXF框架开发webservice
之前学习了使用jdk开发webservice服务,现在开始学习使用框架(cxf)开发webservice. 1.准备工作 A.使用cxf开发webservice服务,需要用到apache-cxf-3. ...
- Linux系统下qt程序运行找不到IGL
linux下使用QT5运行时出现两个问题: cannot find -lGL collect2:error:ld returned 1 exit status 这是因为系统缺少链接库,执行两条命令即可 ...
- SpringBoot整合Shiro权限框架实战
什么是ACL和RBAC ACL Access Control list:访问控制列表 优点:简单易用,开发便捷 缺点:用户和权限直接挂钩,导致在授予时的复杂性,比较分散,不便于管理 例子:常见的文件系 ...
- 如何在Spring Boot项目中集成微信支付V3
Payment Spring Boot 是微信支付V3的Java实现,仅仅依赖Spring内置的一些类库.配置简单方便,可以让开发者快速为Spring Boot应用接入微信支付. 演示例子: paym ...
- 坐标转换成SVG的path路径
大家好,我是一个刚入职的前端小白,入职后一直做关于svg 的东西,我将自以为很方便的方法提供给大家. function svgPathCurv(a,b,curv) { /* * 弯曲函数. * a:a ...
- Navicat Premium 12连接MySQL数据库出现Authentication plugin 'caching_sha2_password' cannot be loaded的解决方案
1. 管理员权限运行命令提示符,登陆MySQL mysql -u root -p password 2. 修改账户密码加密规则并更新用户密码 ALTER USER 'root'@'localhost' ...
- #2使用html+css+js制作网站教程 测试
#2使用html+css+js制作网站教程 测试 本系列链接 1 测试 1.1 运行 1.2 审查 1.3 审查技巧 1.4 其他 引言: 编写完代码后就要上机测试代码,获得用户体验,筛选bug 笔者 ...