Multiplicar cadenas en Java
-
Multiplicar cadenas usando
String().replace()
en Java -
Multiplicar cadenas usando la API
Stream
en Java - Multiplicar cadenas usando Guava 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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn