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