การประมวลผล String อย่างมีประสิทธิภาพด้านหน่วยความจำ
คุณกำลังพัฒนาแอปพลิเคชันประมวลผลข้อความ ซึ่งต้องการเติมข้อมูลใน array ด้วย String ค่าเดิมซ้ำหลายครั้ง การทำงานในปัจจุบันสร้าง String object ใหม่ทุกครั้งในแต่ละรอบของลูป ซึ่งไม่มีประสิทธิภาพสำหรับ array ขนาดใหญ่ ให้ปรับปรุงเมธอดนี้ให้ทำงานได้อย่างมีประสิทธิภาพมากขึ้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การปรับแต่งโค้ดใน Java
คำแนะนำการฝึกหัด
- นำ
valueที่มีอยู่แล้วมาใช้เพื่อเพิ่มลงในลิสต์ - Return
arrayที่ได้ในตอนท้าย
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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 ____;
}
}