gpt4 book ai didi

java - 当第一个日期是今天时,按日期对列表进行排序

转载 作者:行者123 更新时间:2023-12-01 07:08:42 25 4
gpt4 key购买 nike

目前我正在尝试按日期对列表进行排序:

Collections.sort(unsortedDates, new Comparator<Item>() {
public int compare(Item m1, Item m2) {
return m1.getDate().compareTo(m2.getDate());
}
});

但我希望对列表进行排序,以便锚定日期为今天,第一项应该是当前日期最接近的日期。

日期格式为MM/dd

getDate() 返回一个 Date 对象。

最佳答案

在比较器之外创建今天的日期,并更改比较器以比较其比较日期的绝对差异,如下所示:

final long todayTime = new Date().getTime();
Collections.sort(unsortedDates, new Comparator<Item>() {
public int compare(Item m1, Item m2) {
long dist1 = Math.abs(todayTime-m1.getDate().getTime());
long dist2 = Math.abs(todayTime-m2.getDate().getTime());
return Long.compare(dist1, dist2);
}
});

关于java - 当第一个日期是今天时,按日期对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18300186/

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