Phương thức Arrays.copyOf() trong Java là gì?
Lớp Java java.util.Arrays cung cấp một phương thức có tên là Arrays.copyOf() trả về một bản sao của một mảng được truyền dưới dạng tham số cho hàm này, tiếp theo là chỉ định kích thước của nó. Đây là tiêu đề phương pháp để hiểu nhanh.
Arrays.copyOf(int[] templateArray, int length);
Lưu ý rằng tham số thứ hai “độ dài” là kích thước của mảng sao chép mà bạn muốn tạo. Vì vậy, ở đây chúng ta có thể có 3 trường hợp.
- Độ dài của cả mảng mẫu và bản sao đều giống nhau.
- Độ dài của mảng bản sao lớn hơn độ dài của mảng mẫu.
- Độ dài của mảng bản sao nhỏ hơn độ dài của mảng mẫu.
Ví dụ mã hóa
import java.util.Arrays;
public class ArraysCopyOfMethod {
public static void main(String[] args) {
// Initialize your templateArray which you want a copy of
int[] templateArray = new int[] {1, 2, 3, 4, 5, 6};
System.out.println("Template Array: " + Arrays.toString(templateArray));
// Create a "copy" of template array using
// Arrays.copyOf(int[] array, int arrayLength) method
// CASE 1: Sizes of both template & copy arrays are same
int[] copyArray1 = Arrays.copyOf(templateArray, templateArray.length);
System.out.println("Copy Array 1: " + Arrays.toString(copyArray1));
// CASE 2: Size of copy array > Size of template array
// extra space in copy array is filled with zeros
int[] copyArray2 = Arrays.copyOf(templateArray, 10);
System.out.println("Copy Array 2: " + Arrays.toString(copyArray2));
// CASE 3: Size of copy array < Size of template array
// copy array is only filled with only elements in overlapping size
int[] copyArray3 = Arrays.copyOf(templateArray, 3);
System.out.println("Copy Array 3: " + Arrays.toString(copyArray3));
}
}
đầu ra
Mảng mẫu: [1, 2, 3, 4, 5, 6]
Sao chép mảng 1: [1, 2, 3, 4, 5, 6]
Sao chép mảng 2: [1, 2, 3, 4, 5, 6, 0, 0, 0, 0]
Sao chép Mảng 3: [1, 2, 3]
GO TO FULL VERSION