2010-10-15 19 views

risposta

48

In breve:

Un elenco è un elenco ordinato di oggetti, in cui lo stesso oggetto potrebbe apparire più di una volta. Ad esempio: [1, 7, 1, 3, 1, 1, 1, 5]. Ha senso parlare del "terzo elemento" in una lista. È possibile aggiungere un elemento in qualsiasi punto dell'elenco, modificare un elemento in qualsiasi punto dell'elenco o rimuovere un elemento da qualsiasi posizione nell'elenco.

Una riga è anche ordinata, ma si toccano sempre solo elementi ad una estremità. Tutti gli elementi vengono inseriti alla "fine" e rimossi dal "inizio" (o dalla testa) della coda. Puoi scoprire quanti elementi ci sono in coda, ma non puoi scoprire cosa, per esempio, è l'elemento "terzo". Lo vedrai quando arrivi.

A set non è ordinato e non può contenere duplicati. Qualsiasi oggetto dato è o non è nel set. {7, 5, 3, 1} è esattamente lo stesso set di {1, 7, 1, 3, 1, 1, 1, 5}. Di nuovo non puoi chiedere il "terzo" elemento o anche il "primo" elemento, poiché non sono in un ordine particolare. È possibile aggiungere o rimuovere elementi, e si può scoprire se un certo elemento esiste (ad esempio, "è 7 in questa serie?")

+0

Questo è utile, ma non mi piace che la procedura tuo dire che imposta non può contenere duplica l'elenco di un "set" con duplicati. – Legato

+7

*** Cazzo, pensi che '{1, 7, 1, 3, 1, 1, 5}' contenga duplicati, ma Java non la pensa così. In altre parole, puoi sempre aggiungere un oggetto a un set anche se lo stesso oggetto è già lì, quell'aggiunta semplicemente non cambia il trucco del set o il risultato di eventuali operazioni che potresti eseguire su di esso. È diverso da un elenco, in cui l'aggiunta di un altro "1" crea una lista fondamentalmente diversa. – VoteyDisciple

+0

Bella spiegazione. –