2010-10-06 10 views
7

Non so quale sia il modo migliore per verificare se l'oggetto nella mia lista è l'ultimo creato.Il metodo migliore per verificare se un oggetto in una lista è l'ultimo (per data)

Quale sarebbe il metodo ottimale per farlo?

Devo ottenere l'ultimo elemento nell'elenco e controllare se il mio elemento dato è l'ultimo?

+0

L'elenco è ordinato in base alla data di creazione? –

+0

No, ma l'ordine di lista per data come org.life.java dice: - le cose verranno mantenute nell'elenco nell'ordine in cui le aggiungi, inclusi i duplicati, a meno che non elimini in modo esplicito l'elenco. –

risposta

18

uso questo controllo

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

Nota: L'elenco <> classe non garantire ordinazione - le cose verranno conservati nella lista nell'ordine in cui aggiungerli, tra i duplicati, a meno che Si ordinare in modo esplicito l'elenco.

+0

listObj e list sono uguali nell'esempio no? –

+0

@ user284237 oops typo, sì aggiornato il codice –

1

Questo dipende molto dalla vostra implementazione.

Se gli oggetti vengono aggiunti alla fine dell'elenco in ordine di creazione, il primo elemento nell'elenco (indice 0) sarà il più vecchio.

Se gli oggetti nel proprio elenco vengono aggiunte in un ordine sconosciuto e gli oggetti hanno un metodo per interrogare la data di creazione, si potrebbe o:

  1. implementare un elenco ordinato in base alla data di creazione oggetto
  2. itera su ogni elemento dell'elenco e trova l'oggetto più vecchio

L'opzione 1 comporta sovraccarico quando gli articoli vengono aggiunti all'elenco o quando si ordina in modo esplicito l'elenco. L'opzione 2 ha un sovraccarico quando si desidera recuperare l'oggetto più vecchio.

Problemi correlati