Java-Joda时间列表本地日期查找最新日期(&A)
以下是使用Joda Time API的日期列表,我想从下面的列表中查找最新的日期
List<LocalDate> dates = new ArrayList<LocalDate>();
dates.add(eefdTewntyArray)
dates.add(rdTewntyArray);
dates.add(idSeventyArray);
上述列表的输出
[2025-08-01, 2025-08-01, 2026-08-01]
我要选择最晚的日期并存储到LocalDate中,这可能还会增加日期的‘n’个数
解决方案
对此使用Collections.max
。由于每个LocalTime
都实现Comparable
,因此这是安全和简单的操作。
List<LocalDate> dates = new ArrayList<>();
dates.add(new LocalDate(2025, 8, 1));
dates.add(new LocalDate(2025, 8, 1));
dates.add(new LocalDate(2026, 8, 1));
// prints "2006-08-01"
System.out.println(Collections.max(dates));
Collections#max
以线性时间运行,最坏情况下的性能为O(N),而Collections#sort
基于Timsort,最坏情况下的运行时间为O(Nlogn)。如果您的日期列表足够大,那么也只有在那时,我才会考虑使用排序方法;在这里,它有点过分了。
相关文章