我有一些自定义对象的数组列表。该自定义对象具有日期字段。
我有一个方法,上面有List,一个Date作为参数。现在我需要在作为参数传递的Date之前从列表中找到最新记录。
有人可以告诉我最好的方法吗?
答案 0 :(得分:3)
跟踪符合条件的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的编辑。