Mulai sekarangMulai gratis

Menerapkan pemrosesan string yang hemat memori

Anda sedang mengembangkan aplikasi pemrosesan teks yang perlu mengisi awal sebuah array dengan nilai string yang sama berulang kali. Implementasi saat ini membuat objek String baru di setiap iterasi loop, yang tidak efisien untuk array berukuran besar. Tugas Anda adalah mengimplementasikan versi metode yang lebih efisien.

Latihan ini merupakan bagian dari kursus

Optimasi Kode di Java

Lihat Kursus

Instruksi latihan

  • Gunakan kembali value yang disediakan untuk ditambahkan ke daftar.
  • Kembalikan array akhir.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

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 ____;
    }
}
Edit dan Jalankan Kode