J'ai des structures de données et j'aimerais en utiliser une comme temporaire et une autre comme non temporaire.
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();
maintenant, le problème avec cela, bien sûr, c'est que cela myObject
ne fait que pointer vers myTempObject
, et donc une fois myTempObject
est effacé, il en est de même myObject
.
Comment puis-je conserver les valeurs de myTempObject
en myObject
utilisant java?
List.addAll
. Mais si vous avez besoin de conserver tous les objets, effacer la liste temporaire n'effacera pas vraiment beaucoup de mémoire. Parce que vous essayez seulement d'effacer les références, dans la mesure où vous essayez de les conserver.