Discussione: [Java]Domanda HashSet
View Single Post
Old 08-10-2011, 12:38   #3
cdere
Senior Member
 
L'Avatar di cdere
 
Iscritto dal: Feb 2001
Città: Foggia
Messaggi: 2519
Quote:
Originariamente inviato da e-commerce84 Guarda i messaggi
Ciao,
ma se faccio qualcosa del genere:

Codice:
private Set<Purchase> purchases = new HashSet<Purchase>(0);
cosa faccio esattamente? dichiaro un insieme non ordinato di oggetti di tipo Purchase?

Se avessi capito bene come mai lo dichiara di tipo Set e lo costruisce di tipo HashSet?
Cosa stà a significare quel (0) prima del ; finale?

Grazie
Andrea
tu vuoi un oggetto che possa puntare ad un Set fatto da oggetti Purchase, senza preoccuparti dell'implementazione concreta di tale struttura, specificando solo l'interfaccia (Set) senza alcun dettaglio implementativo.
Poi puoi avvalorare quest'interfaccia con l'istanziazione di un oggetto (concreto), e per questo chiami la classe HashSet, classe che implementa l'interfaccia Set tramite l'hashing, da qui il nome.

Ad esempio:

Codice:
 List<Frutta> lista_frutta = new ArrayList<Frutta>()
 List<Frutta> lista_frutta_2 = new LinkedList<Frutta>()
lista_frutta e lista_frutta_2 possono essere utilizzate alla stessissima maniera lato "utente" eppure l'implementazione è nettamente differente. Cambia qualcosa da una all'altra? Certo che sì, questioni di complessità computazionale, sta al bravo programmatore scegliere.
__________________
mi sembra di essere tornato adolescente ai bei tempi.. che figata essere di nuovo su questo forum
cdere è offline   Rispondi citando il messaggio o parte di esso