Java ArrayList中的比较和条件检查

时间:2013-09-09 08:24:03

标签: java list arraylist

我有一些自定义对象的数组列表。该自定义对象具有日期字段。

我有一个方法,上面有List,一个Date作为参数。现在我需要在作为参数传递的Date之前从列表中找到最新记录。

有人可以告诉我最好的方法吗?

1 个答案:

答案 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的编辑。