Tôi có một số cấu trúc dữ liệu và tôi muốn sử dụng một cấu trúc dữ liệu tạm thời và một cấu trúc khác không phải là tạm thời.
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();
bây giờ vấn đề với điều này tất nhiên là nó myObject
thực sự chỉ được trỏ đến myTempObject
, và vì vậy một khi myTempObject
được xóa, cũng vậy myObject
.
Làm cách nào để giữ lại các giá trị từ myTempObject
khi myObject
sử dụng java?
List.addAll
. Nhưng nếu bạn cần giữ lại tất cả các đối tượng thì việc xóa danh sách tạm thời sẽ không thực sự xóa toàn bộ bộ nhớ. Bởi vì bạn chỉ đang cố gắng xóa các tham chiếu, xa những đối tượng mà bạn đang cố gắng giữ chúng.