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
Egzersiz talimatları
- Sağlanan
valuedeğerini yeniden kullanarak listeye ekle. - Son
arraydeğ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 ____;
}
}