2010-10-06 49 views
7

我不知道检查我的列表中的对象是否是最后创建的最好方法是什么。最好的方法来检查列表中的对象是否是最后一个(按日期)

这样做的最佳方法是什么?

我应该得到列表中的最后一个元素,并检查给定的元素是否是最后一个元素?

+0

是否以创建日期排序? – 2010-10-06 16:15:09

+0

不,但像org.life.java这样按日期排列的列表表示: - 除非您明确地对列表进行排序,否则按照添加它们的顺序将事件保留在列表中,包括重复项。 – 2010-10-06 16:30:36

回答

18

使用此检查

listObj.indexOf(yourObject) == (listObj.size() -1); 

注意:列表<>类不保证 排序 - 事情会被保留在 顺序列表中添加它们, 包括重复,除非你 明确排序列表。

+0

listObj和list在你的例子中是一样的吗? – 2010-10-06 16:46:24

+0

@ user284237 oops错字,是更新了代码 – 2010-10-06 16:49:37

1

这取决于您的实施。

如果您的对象按创建顺序附加到列表的末尾,那么列表中的第一个项目(索引0)将是最早的。

如果你的列表中的对象被附加在一个未知的顺序和你的对象必须查询的创建日期的方法,你既可以:

  1. 实现基于对象的创建日期排序列表
  2. 迭代通过列表中的所有项目,发现的最古老的对象

当项目被添加到列表或当你明确排序列表选项1开销招致。当您想要检索最旧的对象时,选项2会有开销。

相关问题