JAVA list 排序

项目有个根据日期排序的难题。我已把查好的数据封装到了list中。日期存的是字符串类型。同事想出的办法。附上代码

import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import java.util.Comparator


public class ComparatorArea implements Comparator {
Map<String, Integer> sortValue = new HashMap<String, Integer>();


public int compare(Object p1, Object p2) {
Object o1 = ((Map) p1).get("classDate").toString()+" "+((Map) p1).get("classtime").toString();
Object o2 = ((Map) p2).get("classDate").toString()+" "+((Map) p1).get("classtime").toString();
String key1 = o1 != null ? o1.toString() : "";
String key2 = o2 != null ? o2.toString() : "";
if (StringUtils.isEmpty(key1) && StringUtils.isEmpty(key2)) {
return 0;// 都为null或空串,相等
} else if (key1.equals(key2)) {
return 0;
} else if (StringUtils.isEmpty(key1) && !StringUtils.isEmpty(key2)) {
return 1;// null或空串越向后靠
} else if (!StringUtils.isEmpty(key1) && StringUtils.isEmpty(key2)) {
return -1;// null或空串越向后靠
} else if (key1.compareTo(key2) > 0) {
return -1;// null或空串越向后靠
} else if (key1.compareTo(key2) == 0) {
return 0;// null或空串越向后靠
} else if (key1.compareTo(key2) < 0) {
return 1;// null或空串越向后靠
} else {
return -1;
}
}
}
//用法
ComparatorArea comparator = new ComparatorArea();
Collections.sort(list,comparator);//这里存放已经封装好的要排序的list
System.out.println(list.toString());//之后直接对list进行输出即可

需要另外导入一个包。StringUtils是struts中的common-logging包
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值