CommencerCommencer gratuitement

Mettre en œuvre un traitement de chaînes économe en mémoire

Vous développez une application de traitement de texte qui doit préremplir un tableau avec la même valeur de chaîne plusieurs fois. L’implémentation actuelle crée un nouvel objet String à chaque itération de boucle, ce qui est inefficace pour les grands tableaux. Votre mission est d’implémenter une version plus efficace de cette méthode.

Cet exercice fait partie du cours

Optimiser son code en Java

Afficher le cours

Instructions

  • Réutilisez la valeur value fournie pour l’ajouter à la liste.
  • Renvoyez le array final.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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 ____;
    }
}
Modifier et exécuter le code