JAVA 日期排序 100

将List类型数据排序,list中包开始日期periodFrom,结束日期periodTo,日期格式例:开始日期1:2018年3月18日,结束日期1:2018年3月22日... 将List类型数据排序,list中包开始日期periodFrom,结束日期periodTo,
日期格式例:
开始日期1:2018年3月18日,结束日期1:2018年3月22日
开始日期1:2018年3月20日,结束日期1:2018年3月25日
开始日期1:2018年3月13日,结束日期1:2018年3月20日
开始日期1:2018年3月12日,结束日期1:2018年3月18日
开始日期1:2018年3月19日,结束日期1:2018年3月19日
将这条数据以开始日期升序和结束日期升序排序.
展开
 我来答
人如醉oM
2018-03-20 · TA获得超过324个赞
知道小有建树答主
回答量:460
采纳率:37%
帮助的人:226万
展开全部

前提,假设你使用一个数组来保存一组开始时间+结束时间,当然,你也可以用其它的数据结构。

基本思路,1转换为Date型,2使用Calendar类来比较两个日期,3 自己实现compare方法:

各部分的例子:
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
Date startDate1 = simpleDateFormat.parse("2018年3月18日");
Date startDate2 = simpleDateFormat.parse("2018年3月12日");

private void sort(List<Date> dataList){
        Collections.sort(dataList, new Comparator<Date>() { 
            @Override  
            public int compare(Date o1, Date o2) {
             if(d1 != null && d2 != null){
                    Calendar c1 = Calendar.getInstance();
                    Calendar c2 = Calendar.getInstance();
                    c1.setTime(o1);
                    c2.setTime(o2);
                    return c1.After(c2);  
             }else{
             return -1;
             }
            }  
        }); 
}

大概写了下,具体你自己调调,还要注意异常处理。

pieryon
2018-03-20 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166874
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
日期都是string类型的吧,不带格式的日期比较才好一点的
追问
格式不是重点,主要是这个java逻辑怎么写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嗼小c
2018-03-20 · 超过30用户采纳过TA的回答
知道答主
回答量:118
采纳率:47%
帮助的人:31万
展开全部
把这个list当作两个list来操作即开始日期list和结束日期list,日期排序比较简单将年月日进行格式化为String,把String用大于小于就能排序,排好以后将两个list addAll,需要代码可以追问
追问
请问,将日期排序之后,如何将开始日期和结束日期进行拼接,这段逻辑应该怎么实现
追答
不好意思,刚才看错题设了,我重新解释,例如:A1---a1   B1---b1

这里的A1表示开始日期,a1表示结束日期,后面的类似.
若要以开始日期升序则只需要排序A1和B1,若要以结束日期升序排序只需要排序a1和b1
至于要拼接,下标即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神牛码农
2018-03-20 · 用技术行走在移动互联网时代
神牛码农
采纳数:297 获赞数:1178

向TA提问 私信TA
展开全部
你留个邮箱 回头我发给你 不就一个排序嘛
追问
如有代码,可否截图在追答里面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式