gpt4 book ai didi

java - 如何对列表中的日期进行排序?

转载 作者:行者123 更新时间:2023-11-29 04:32:58 26 4
gpt4 key购买 nike

我有一个对象列表。该列表已按预订日期排序。我想创建一个新列表,以今天的日期为参数并存储截至今天的最后 10 个预订和接下来的 10 个预订。

如何做到这一点?

transaction = session.beginTransaction();

String hql = "FROM Booking ORDER BY scheduledDate";
Query query = session.createQuery(hql);
List<Booking> bookingList = query.list();
Date now = new Date();
List<Booking> lessThan = null;
List<Booking> moreThan = null;

for(int i =0; i<bookingList.size();i++){

if(bookingList.get(i).getScheduledDate().compareTo(now)<0)
lessThan.add(bookingList.get(i));

if (bookingList.get(i).getScheduledDate().compareTo(now)>0)
moreThan.add(bookingList.get(i));
}

这些是我的 getter 方法。

public java.util.Date getScheduledDate() {
return scheduledDate;
}

最佳答案

通过获取今天日期与您拥有的日期列表中的每个日期的差值的绝对值来创建一个新列表。

找到最小数在新列表中的位置。然后,您可以从此处获取所需日期的位置。 min-pos 到 (min-pos + 9) 会给你接下来 10 个预订的 10 条记录,(min-pos - 1) 到 (min-pos - 10) 会给你另一组。

根据(今天的日期 - date-at-min-pos)是大于还是小于零,结果会略有不同。然后 (min-pos+1) 到 (min-pos + 10) 会给你接下来 10 个预订的 10 条记录, (min-pos) 到 (min-pos - 9) 会给你另一组

关于java - 如何对列表中的日期进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43033373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com