Collections.sort()排序 重写Comparator()按照JsonElement

本文介绍了一种使用Java对JSON数组中的元素按照指定时间字段进行排序的方法。通过创建自定义比较器并利用SimpleDateFormat解析时间字符串,实现了精确到秒的时间排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 	 List<JsonElement> list = new ArrayList<JsonElement> ();
	    	 for (int i = 0; i < array.size(); i++) {
	    		 JsonElement jsonElement = array.get(i);
	             list.add(jsonElement);
	         }
	    	 Collections.sort(list, new Comparator<JsonElement>(){
				@Override
				public int compare(JsonElement o1, JsonElement o2) {
					JsonObject jsonObject1 = o1.getAsJsonObject();
					JsonObject jsonObject2 = o2.getAsJsonObject();
//					System.out.println(jsonObject1.get("captureTime").toString().replaceAll("\"", ""));
//					System.out.println(jsonObject2.get("captureTime").toString().replaceAll("\"", "") );
					SimpleDateFormat  sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
					Date bt;
					Date et;
					try {
						bt = (Date) sdf.parse(jsonObject1.get("captureTime").toString().replaceAll("\"", ""));
						et=(Date) sdf.parse(jsonObject2.get("captureTime").toString().replaceAll("\"", "") ); 
						return et.compareTo(bt);
					} catch (ParseException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
						return 0;
					} 
					
				}
	    	 });

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值