<分区>
我有一些自定义对象的数组列表。该自定义对象有一个日期字段。
我有一个方法,上面有 List 和一个 Date 作为参数。现在我需要从列表中找到作为参数传递的日期之前的最新记录。
有人可以告诉我最好的方法吗?
<分区>
我有一些自定义对象的数组列表。该自定义对象有一个日期字段。
我有一个方法,上面有 List 和一个 Date 作为参数。现在我需要从列表中找到作为参数传递的日期之前的最新记录。
有人可以告诉我最好的方法吗?
最佳答案
跟踪符合条件的Date
,并使用getTime()
API 更新符合条件的变量。这段代码可以优化,但我想你明白了。
public static COjbect getClosestRecordToDate(final List<CObject> list, final Date date)
{
if (list == null || list.isEmpty())
return null;
final CObject temp = list.get(0);
for (final CObject obj : list)
{
final long time = obj.getDate().getTime();
if (time < date.getTime() && time > temp.getTime())
temp = obj;
}
return temp;
}
编辑:感谢@David Wallace 的编辑。
关于java - Java ArrayList中的比较和条件检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18694206/