Triển khai xử lý chuỗi tiết kiệm bộ nhớ
Bạn đang phát triển một ứng dụng xử lý văn bản cần điền sẵn một mảng bằng cùng một giá trị chuỗi lặp lại nhiều lần. Cách hiện tại tạo một đối tượng String mới ở mỗi vòng lặp, điều này kém hiệu quả với các mảng lớn. Nhiệm vụ của bạn là triển khai một phiên bản phương thức hiệu quả hơn.
Bài tập này là một phần của khóa học
Tối ưu hóa mã trong Java
Hướng dẫn bài tập
- Tái sử dụng
valueđã cung cấp để thêm vào danh sách. - Trả về
arraycuối cùng.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
public class ArrayPopulation {
public static void main(String[] args) {
int size = 10000;
String[] inefficientArray = populateArrayInefficient(size, "DataCamp");
String[] efficientArray = populateArrayEfficient(size, "DataCamp");
System.out.println("Arrays have same length: " + (inefficientArray.length == efficientArray.length));
}
public static String[] populateArrayInefficient(int size, String value) {
String[] array = new String[size];
for (int i = 0; i < size; i++) {
String stringValue = new String(value);
array[i] = stringValue;
}
return array;
}
public static String[] populateArrayEfficient(int size, String value) {
String[] array = new String[size];
for (int i = 0; i < size; i++) {
// Reuse the same String object
array[____] = ____
}
// Return the final array
return ____;
}
}