java - Java ArrayList中的比较和条件检查

标签 java list arraylist

<分区>

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

我有一个方法,上面有 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/

相关文章:

java - 无法将字符串解析为 Java 8 LocalDateTime

java - Java中的线程、等待、通知、 sleep

python - 按条件连接列表中的字符串

java - 循环内循环 - 显示ArrayList

android - 如何将 SQLite 行添加到 ArrayList<>

java - 右上、左下、下左等之间的转换(JAVA游戏LWJGL按键监听器)

java - 使用 JDBI 将二维数组插入 PostreSQL DB?

list - 将三个列表组合成 Haskell 中的三元组列表

list - 如何对 Prolog 列表的元素执行算术运算

java - 如何拆分 Arraylist 的单个索引中的值