¿Cómo optimizar la creación de strings en Java?

nuevo nuevo

El tiempo de ejecución puede variar según el rendimiento de la máquina computacional.

Ejemplo :

String str = new String("GeeksforGeeks");

Tiempo requerido para la creación de String usando new:

Java

// String creation using new keyword
import java.lang.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        // Array of string
        String str[] = new String[50000];
  
        // Clock starts
        long startTime = System.currentTimeMillis();
  
        for (int i = 0; i < 50000; i++) {
            // Create new String object and copy
            str[i] = new String("GeeksforGeeks");
        }
  
        // End Clock
        long endTime = System.currentTimeMillis();
  
        // Print Time
        System.out.println(
            "Creation time of String using 'new' keyword : "
            + (endTime - startTime) + " ms");
    }
}
Producción

Creation time of String using 'new' keyword : 12 ms

¿Cómo optimizar la creación de strings?

1. Usando el método String.intern():

String.intern() Método para almacenar solo una copia de cada valor de string distinto, que debe ser inmutable. Se puede usar para devolver una string de la memoria si se crea con una nueva palabra clave. Crea una copia exacta del objeto de string de montón en el grupo de constantes de string.

Sintaxis:

public String intern()

Retorno: string interna.

Tiempo requerido para la creación de String usando el método interno():

Java

// String creation using intern() method
import java.lang.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        // Array of String
        String str[] = new String[50000];
  
        // Clock Starts
        long startTime = System.currentTimeMillis();
  
        for (int i = 0; i < 50000; i++) {
            // Create new String object and copy
            str[i] = new String("GeeksforGeeks");
            // Use of intern()
            str[i] = str[i].intern();
        }
  
        // End Clock
        long endTime = System.currentTimeMillis();
  
        // Print Time
        System.out.println(
            "Creation time of String objects with intern() : "
            + (endTime - startTime) + " ms");
    }
}
Producción

Creation time of String objects with intern() : 20 ms

La hora de creación de los objetos con un intern() y la hora de creación de los objetos con la palabra clave ‘nuevo’ fluctúan cerca de la hora de creación de cada uno.

2. Mediante el uso de literales de string:

Un literal de string debe estar entre comillas dobles. Cada vez que encuentra un literal de string en el código del programador, el compilador crea un objeto String con su valor.

Es la forma más rápida de creación de strings.

Ejemplo :   

String literal = "GeeksforGeeks";

Tiempo requerido para la creación de String usando literales:

Java

// String creation using literals
import java.lang.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        // Array of String
        String str[] = new String[50000];
  
        // Clock starts
        long startTime = System.currentTimeMillis();
  
        for (int i = 0; i < 50000; i++) {
            str[i] = "GeeksforGeeks";
        }
  
        // End Clock
        long endTime = System.currentTimeMillis();
  
        // Print Time
        System.out.println(
            "Creation time of String literals : "
            + (endTime - startTime) + " ms");
    }
}
Producción

Creation time of String literals : 9 ms

Publicación traducida automáticamente

Artículo escrito por abhishekr0ut y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *