BaşlayınÜcretsiz başlayın

Bellek açısından verimli string işleme uygulaması

Aynı string değerini bir diziye birden çok kez önceden yerleştirmen gereken bir metin işleme uygulaması geliştiriyorsun. Mevcut uygulama, her döngü adımında yeni bir String nesnesi oluşturuyor; bu da büyük diziler için verimsiz. Görevin, bu yöntemin daha verimli bir sürümünü uygulamak.

Bu egzersiz, kursun bir parçasıdır

Java'da Kod Optimizasyonu

Kursa Göz Atın

Egzersiz talimatları

  • Sağlanan value değerini yeniden kullanarak listeye ekle.
  • Son array değerini döndür.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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 ____;
    }
}
Kodu Düzenle ve Çalıştır