2013-01-20 14 views
10

In Java, non capisco una raccolta rispetto a una "struttura dati". Mi sembra che la raccolta faccia riferimento a elenco, insieme, mappa, coda e "struttura dati" si riferisca alla struttura dati utilizzata per implementare la raccolta come un array, un elenco collegato o un albero. Ad esempio ArrayList e LinkedList sono entrambi raccolte, ma la loro struttura dati è rispettivamente una matrice e una lista collegata. Sono corretto, o sono termini confusi?Java: Differenza tra una raccolta e "Struttura dati"

+0

Anche se semplice domanda, ma contento che tu abbia chiesto. Molti non chiedono e rimangono in dubbio per sempre :-) – CuriousMind

risposta

6

Una struttura dati è il modo in cui i dati vengono rappresentati all'interno della memoria in memoria. Una collezione è come è possibile accedervi. Sottolineo la parola "può".

Se si memorizzano i dati in un oggetto LinkedList e lo si ordina, le prestazioni diminuiranno. Lo stesso algoritmo se si utilizza un ArrayList migliorerà le prestazioni. Solo cambiando il modo in cui è rappresentato in memoria aiuterà vari fattori.

È possibile "accedervi" utilizzando una rappresentazione di insieme, "possibile" utilizzare anche l'"indice" per accedere ai dati. Puoi "andare" anche a getFirst, getNext, getPrev.

La confusione è tra la memoria interna e l'accesso alla memoria. Separare il 2.

11

Una struttura dati è un termine generico per un oggetto che rappresenta una sorta di dati, quindi una lista collegata, un array, ecc. Sono tutte strutture di dati. Una raccolta in senso Java si riferisce a qualsiasi classe che implementa l'interfaccia Collection. Una collezione in senso generico è solo un gruppo di oggetti.

+0

Il termine collezione ha un significato in altri linguaggi di programmazione, o è davvero un termine usato da Java? – user1888243

+1

È un termine generico. Ma quando usato nel contesto Java, di solito significa le classi di raccolta java. –

+1

+1 E inoltre, con questa definizione, un'implementazione dell'interfaccia 'Collection' è una struttura dati che fornisce metodi per trattare un gruppo di oggetti. –

1

Una struttura di dati ha la nozione di una sorta di schema, ad es. una rappresentazione di una casa dovrebbe elencare cose come metraggio, camere da letto, ecc. Questo è ciò che di solito significava lì: come viene rappresentata la struttura del dominio come dati?

Una raccolta è, come dice Jeff, solo un insieme di oggetti. Le raccolte hanno una struttura, ma la loro struttura è esclusivamente organizzativa, ad es. una struttura, una lista o una lista collegata.

Problemi correlati