我有一些自定义对象的数组列表。该自定义对象有一个日期字段。
我有一个方法,上面有 List 和一个 Date 作为参数。现在我需要在作为参数传递的 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 的编辑。