Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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ề array cuố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 ____;
    }
}
Chỉnh sửa và Chạy Mã