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
Instruksi latihan
- Gunakan kembali
valueyang disediakan untuk ditambahkan ke daftar. - Kembalikan
arrayakhir.
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 ____;
}
}