LoslegenKostenlos loslegen

Speichereffiziente String-Verarbeitung implementieren

Du entwickelst eine Textverarbeitungsanwendung, die ein Array mehrfach mit demselben String-Wert vorbefüllen muss. Die aktuelle Implementierung erzeugt in jeder Schleifeniteration ein neues String-Objekt, was bei großen Arrays ineffizient ist. Deine Aufgabe ist es, eine effizientere Version dieser Methode zu implementieren.

Diese Übung ist Teil des Kurses

Codeoptimierung in Java

Kurs anzeigen

Anleitung zur Übung

  • Verwende das übergebene value erneut, um es zur Liste hinzuzufügen.
  • Gib das finale array zurück.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 ____;
    }
}
Code bearbeiten und ausführen