Ho alcune strutture dati e vorrei usarne una come temporanea e un'altra come non temporanea.
ArrayList<Object> myObject = new ArrayList<Object>();
ArrayList<Object> myTempObject = new ArrayList<Object>();
//fill myTempObject here
....
//make myObject contain the same values as myTempObject
myObject = myTempObject;
//free up memory by clearing myTempObject
myTempObject.clear();
ora il problema con questo, ovviamente, è che in myObject
realtà sta solo indicando myTempObject
, e quindi una volta myTempObject
è stato chiarito, così è myObject
.
Come faccio a mantenere i valori da myTempObject
in myObject
utilizzando Java?
List.addAll
. Ma se è necessario conservare tutti gli oggetti, cancellare l'elenco temporaneo non cancellerà davvero molta memoria. Perché stai solo cercando di cancellare i riferimenti, per quanto riguarda gli oggetti che stai cercando di mantenerli.