2010-10-06 24 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會有開銷。

相關問題