เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การประมวลผล 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 ____;
    }
}
แก้ไขและรันโค้ด