MulaiMulai sekarang secara 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 adalah bagian dari kursus

Optimasi Kode di Java

Lihat Kursus

Petunjuk latihan

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

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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