Ho cercato su google ma non sono riuscito a darmi una risposta soddisfacente...


Mi chiedono di cancellare una struttura dati. Come mi devono comportare?

Esempio. Ho uno Stack.

codice:
Stack pippo = new Stack();
pippo.push(1); pippo.push(2); // pippo.push... (e così via)
Voglio ora che il garbage collector faccia pulizia. Mi è sufficiente fare

codice:
pippo = null; // ?
Ci pensa il gc a deallocare tutto lo spazio dell'array usato per implementare lo Stack?

O devo passarmi tutti gli elementi dello Stack e metterli a null? Quest'ultima soluzione mi sembra assolutamente pessima dal punto di vista delle prestazioni (supponete che la struttura dati sia più complessa...)