Để sử copy một ArrayList trong java chúng ta sử dụng method clone(). method này sẽ trả về cho chúng ta một bản sao của ArrayList.
Các giá trị của ArrayList mới được clone ra không còn quan hệ với giá trị cũ, nghĩa là nó được lưu trong vùng nhớ mới luôn.
import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<Integer> arr = new ArrayList<Integer>(); arr.add(1); arr.add(2); arr.add(3); ArrayList<Integer> cloneArr = new ArrayList<>(); cloneArr = (ArrayList<Integer>)arr.clone(); arr.add(4); System.out.println("Array list: " + arr); System.out.println("Array list clone: " + cloneArr); } }
Output:
Array list: [1, 2, 3, 4]
Array list clone: [1, 2, 3]
Các bạn thấy khi mình thêm phần tử vào mảng ban đầu thì ArrayList clone ra không ảnh hưởng gì.