Multiplicar cadenas en Java

Rupam Yadav 12 octubre 2023
  1. Multiplicar cadenas usando String().replace() en Java
  2. Multiplicar cadenas usando la API Stream en Java
  3. Multiplicar cadenas usando Guava en Java
Multiplicar cadenas en Java

En este tutorial, aprenderemos cómo podemos multiplicar una cadena utilizando varios métodos y ejemplos.

Multiplicar cadenas usando String().replace() en Java

El primer método para multiplicar una cadena es usar la función replace() de la clase String. Este método replace() acepta dos argumentos; el primero es el destino, que es la cadena que queremos que se sustituya, y el segundo es la cadena de sustitución.

String() toma un array de char y luego los formatea en una cadena. Podemos notar que estamos reemplazando \0 por 0. Nuestro objetivo es multiplicar 0 10 veces y unirlo al final de 123. 0 se llama un carácter nulo, que encuentra el final de nuestra cadena y lo reemplaza con 0.

Para simplificar el ejemplo, hemos usado un bucle para ver cada paso, pero podemos hacerlo sin el bucle, y tendremos una sola cadena con todos los 0 multiplicados.

public class Main {
  public static void main(String[] args) {
    for (int i = 0; i <= 10; i++) {
      String result = new String(new char[i]).replace("\0", "0");
      System.out.println("123" + result);
    }
  }

Resultado:

123
1230
12300
123000
1230000
12300000
123000000
1230000000
12300000000
123000000000
1230000000000

Multiplicar cadenas usando la API Stream en Java

Podemos usar la API Stream introducida en Java 8 para multiplicar una cadena y luego unirlas al final de la misma. En el siguiente ejemplo, Stream.generate() se llama para crear nuevos flujos del proveedor; en nuestro caso, el proveedor es ourString. limit() se usa con el Stream para limitar el número de valores que debe devolver.

El método reduce() se utiliza para realizar una operación binaria y luego devolver un único valor. Añadimos los elementos y luego devolvemos el valor añadido. Podemos notar que después de todas las operaciones, obtenemos el resultado1 de Optional<String>, que se devuelve cuando hay una posibilidad de que el resultado esté vacío.

Por último, podemos comprobar si el resulta1 no está vacío usando isPresent() y luego recuperar la cadena usando el método get().

import java.util.Optional;
import java.util.stream.Stream;

public class Main {
  public static void main(String[] args) {
    String ourString = "123";

    for (int count = 0; count <= 10; count++) {
      Optional<String> result1 =
          Stream.generate(() -> ourString).limit(count).reduce((a, b) -> a + b);

      String finalResult;
      if (result1.isPresent()) {
        finalResult = result1.get();
        System.out.println(finalResult);
      }
    }
  }
}

Resultado:

123
123123
123123123
123123123123
123123123123123
123123123123123123
123123123123123123123
123123123123123123123123
123123123123123123123123123
123123123123123123123123123123

Multiplicar cadenas usando Guava en Java

En el último método para multiplicar cadenas en Java, usaremos una biblioteca llamada Guava. Para usar esta biblioteca, tenemos que importarla usando la siguiente dependencia maven.

 <dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>30.0-jre</version>
  </dependency>

El método Strings.repeat() de la librería Guava puede ser usado para repetir la String varias veces. Se necesitan dos argumentos, la cadena que queremos multiplicar y luego el recuento de repeticiones.

import com.google.common.base.Strings;

public class Main {
  public static void main(String[] args) {
    String ourString = "1234";
    for (int count = 0; count < 5; count++) {
      String finalResult = Strings.repeat(ourString, count);
      System.out.println(finalResult);
    }
  }
}

Resultado:

1234
12341234
123412341234
1234123412341234
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Artículo relacionado - Java String